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
This commit is contained in:
parent
e78a1dcdd1
commit
44a474a014
|
@ -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…
Reference in New Issue