Various updates to support IDEA

Remove the 'final' modifier from SingletonBeanFactoryLocatorTests
to work around the "cannot extend final class" error issued when
running all tests. The error was due to confusion with IDEA between
the two variants of SingletonBeanFactoryLocatorTests across
spring-context and spring-beans.

Rename one of the GroovyMessenger classes to GroovyMessenger2.
Previously there were multiple Groovy classes named
'GroovyMessenger', causing a compilation error in certain IDE
arrangements.

Update import-into-idea.md documentation

Add various IDEA artifacts to .gitignore
 - ignore derby.log wherever it is written
 - ignore IDEA's test-output directory
 - ignore IDEA's Atlassian connector config file
master
Chris Beams 12 years ago
parent e78a1dcdd1
commit 44a474a014
  1. 6
      .gitignore
  2. 24
      import-into-idea.md
  3. 4
      spring-beans/src/test/java/org/springframework/beans/factory/access/SingletonBeanFactoryLocatorTests.java
  4. 3
      spring-context/src/test/java/org/springframework/scripting/groovy/Messenger.groovy

6
.gitignore vendored

@ -10,7 +10,7 @@ integration-repo
ivy-cache ivy-cache
jxl.log jxl.log
jmx.log jmx.log
spring-jdbc/derby.log derby.log
spring-test/test-output/ spring-test/test-output/
.gradle .gradle
build build
@ -19,8 +19,10 @@ build
argfile* argfile*
pom.xml pom.xml
# IDEA metadata and output dirs # IDEA artifacts and output dirs
*.iml *.iml
*.ipr *.ipr
*.iws *.iws
out out
test-output
atlassian-ide-plugin.xml

@ -1,10 +1,10 @@
The following has been tested against Intellij IDEA 11.0.1 The following has been tested against Intellij IDEA 12.0
## Steps ## Steps
_Within your locally cloned spring-framework working directory:_ _Within your locally cloned spring-framework working directory:_
1. Generate IDEA metadata with `./gradlew cleanIdea idea` 1. Generate IDEA metadata with `./gradlew :spring-oxm:compileTestJava cleanIdea idea`
2. Import into IDEA as usual 2. Import into IDEA as usual
3. Set the Project JDK as appropriate 3. Set the Project JDK as appropriate
4. Add git support 4. Add git support
@ -12,21 +12,21 @@ _Within your locally cloned spring-framework working directory:_
## Known issues ## Known issues
1. MockServletContext and friends will fail to compile in spring-web. To fix this, uncheck the 'export' setting for all servlet-api and tomcat-servlet-api jars. The problem is that spring-web needs Servlet 2.5, but it's picking up Servlet 3.0 from projects that it depends on. 1. `spring-aspects` does not compile out of the box due to references to aspect types unknown to IDEA.
2. spring-context will fail to build because there's a duplicate instance of GroovyMessenger in spring-context/src/test/java/org/springframework/scripting/groovy/Messenger.groovy. The solution to this is not known. It's not a problem on Eclipse, because Eclipse doesn't automatically compile .groovy files like IDEA (apparently) does. See http://youtrack.jetbrains.com/issue/IDEA-64446 for details. In the meantime, you may want to
exclude `spring-aspects` from the overall project to avoid compilation errors.
There are no other known problems at this time. Please add to this list, and if you're ambitious, consider playing with the Gradle IDEA generation DSL to fix these problems automatically, e.g.: 2. While all JUnit tests pass from the command line with Gradle, many will fail when run from IDEA.
Resolving this is a work in progress. If attempting to run all JUnit tests from within IDEA, you will
* http://gradle.org/docs/current/dsl/org.gradle.plugins.ide.idea.model.IdeaProject.html likely need to set the following VM options to avoid out of memory errors:
* http://gradle.org/docs/current/dsl/org.gradle.plugins.ide.idea.model.IdeaModule.html -XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeapSize=2048m
* http://gradle.org/docs/current/groovydoc/org/gradle/plugins/ide/idea/model/IdeaModule.html
## Tips ## Tips
In any case, please do not check in your own generated .iml, .ipr, or .iws files. You'll notice these files are already intentionally in .gitignore. The same policy goes for eclipse metadata. In any case, please do not check in your own generated .iml, .ipr, or .iws files.
You'll notice these files are already intentionally in .gitignore. The same policy goes for eclipse metadata.
## FAQ ## FAQ
Q. What about IDEA's own [Gradle support](http://confluence.jetbrains.net/display/IDEADEV/Gradle+integration)? Q. What about IDEA's own [Gradle support](http://confluence.jetbrains.net/display/IDEADEV/Gradle+integration)?
A. Unknown. Please report back if you try it and it goes well for you. A. Keep an eye on http://youtrack.jetbrains.com/issue/IDEA-53476

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2008 the original author or authors. * Copyright 2002-2012 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -30,7 +30,7 @@ import org.springframework.util.ClassUtils;
* @author Colin Sampaleanu * @author Colin Sampaleanu
* @author Chris Beams * @author Chris Beams
*/ */
public final class SingletonBeanFactoryLocatorTests { public class SingletonBeanFactoryLocatorTests {
private static final Class<?> CLASS = SingletonBeanFactoryLocatorTests.class; private static final Class<?> CLASS = SingletonBeanFactoryLocatorTests.class;
private static final String REF1_XML = CLASS.getSimpleName() + "-ref1.xml"; private static final String REF1_XML = CLASS.getSimpleName() + "-ref1.xml";

@ -1,8 +1,7 @@
package org.springframework.scripting.groovy; package org.springframework.scripting.groovy;
import org.springframework.scripting.ConfigurableMessenger
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Component @Component
class GroovyMessenger extends ConcreteMessenger { class GroovyMessenger2 extends ConcreteMessenger {
} }

Loading…
Cancel
Save