FINERACT-1421: Fixing Eclipse build/debug
This commit is contained in:
committed by
Aleksandar Vidakovic
parent
d3400888fa
commit
344e4fe21a
@@ -83,10 +83,13 @@ Instructions to run and debug in Eclipse IDE
|
|||||||
It is possible to run Fineract in Eclipse IDE and also to debug Fineract using Eclipse's debugging facilities.
|
It is possible to run Fineract in Eclipse IDE and also to debug Fineract using Eclipse's debugging facilities.
|
||||||
To do this, you need to create the Eclipse project files and import the project into an Eclipse workspace:
|
To do this, you need to create the Eclipse project files and import the project into an Eclipse workspace:
|
||||||
|
|
||||||
1. Import the fineract-provider project into your Eclipse workspace (File->Import->Gradle->Existing Gradle Project into Workspace, choose root directory fineract/fineract-provider)
|
1. Create Eclipse project files into the Fineract project by running `./gradlew cleanEclipse eclipse`
|
||||||
2. Do a clean build of the project in Eclipse (Project->Clean...)
|
2. Import the fineract-provider project into your Eclipse workspace (File->Import->General->Existing Projects into Workspace, choose root directory fineract/fineract-provider)
|
||||||
|
3. Do a clean build of the project in Eclipse (Project->Clean...)
|
||||||
3. Run / debug Fineract by right clicking on org.apache.fineract.ServerApplication class and choosing Run As / Debug As -> Java Application. All normal Eclipse debugging features (breakpoints, watchpoints etc) should work as expected.
|
3. Run / debug Fineract by right clicking on org.apache.fineract.ServerApplication class and choosing Run As / Debug As -> Java Application. All normal Eclipse debugging features (breakpoints, watchpoints etc) should work as expected.
|
||||||
|
|
||||||
|
If you change the project settings (dependencies etc) in Gradle, you should redo step 1 and refresh the project in Eclipse.
|
||||||
|
|
||||||
You can also use Eclipse Junit support to run tests in Eclipse (Run As->Junit Test)
|
You can also use Eclipse Junit support to run tests in Eclipse (Run As->Junit Test)
|
||||||
|
|
||||||
Finally, modifying source code in Eclipse automatically triggers hot code replace to a running instance, allowing you to immediately test your changes
|
Finally, modifying source code in Eclipse automatically triggers hot code replace to a running instance, allowing you to immediately test your changes
|
||||||
|
|||||||
+1
-1
@@ -355,7 +355,7 @@ allprojects {
|
|||||||
configure(project.fineractJavaProjects) {
|
configure(project.fineractJavaProjects) {
|
||||||
// NOTE: order matters!
|
// NOTE: order matters!
|
||||||
|
|
||||||
apply plugin: 'java-library'
|
apply plugin: 'java'
|
||||||
apply plugin: 'idea'
|
apply plugin: 'idea'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
apply plugin: 'checkstyle'
|
apply plugin: 'checkstyle'
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
|
<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
|
||||||
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
|
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
|
||||||
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:<?xml version="1.0" encoding="UTF-8"?> <resources> <item path="/fineract-provider/bin/main" type="2"/> </resources>}"/>
|
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:<?xml version="1.0" encoding="UTF-8"?> <resources> <item path="/fineract-provider/bin/main" type="2"/> </resources>}"/>
|
||||||
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/fineract/gradlew}"/>
|
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${build_project}/../gradlew"/>
|
||||||
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="incremental,auto,"/>
|
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="incremental,auto,"/>
|
||||||
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-x rat -x compileJava -x sql -x processResources -x generateGitProperties -Penv=eclipse enhance"/>
|
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-x rat -x compileJava -x sql -x processResources -x generateGitProperties -Penv=eclipse enhance"/>
|
||||||
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
|
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
|
||||||
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/fineract}"/>
|
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${build_project}"/>
|
||||||
</launchConfiguration>
|
</launchConfiguration>
|
||||||
|
|||||||
@@ -19,7 +19,9 @@
|
|||||||
description = 'Fineract Provider'
|
description = 'Fineract Provider'
|
||||||
|
|
||||||
apply plugin: 'org.zeroturnaround.gradle.jrebel'
|
apply plugin: 'org.zeroturnaround.gradle.jrebel'
|
||||||
|
apply plugin: 'java'
|
||||||
apply plugin: 'war'
|
apply plugin: 'war'
|
||||||
|
apply plugin: 'eclipse'
|
||||||
apply plugin: 'org.springframework.boot'
|
apply plugin: 'org.springframework.boot'
|
||||||
apply plugin: 'openjpa'
|
apply plugin: 'openjpa'
|
||||||
apply plugin: 'com.gorylenko.gradle-git-properties'
|
apply plugin: 'com.gorylenko.gradle-git-properties'
|
||||||
@@ -175,6 +177,20 @@ war {
|
|||||||
enabled = true
|
enabled = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If we are running Gradle within Eclipse to enhance classes with OpenJPA,
|
||||||
|
// set the classes directory to point to Eclipse's default build directory
|
||||||
|
if (project.hasProperty('env') && project.getProperty('env') == 'eclipse')
|
||||||
|
{
|
||||||
|
sourceSets.main.java.outputDir = new File(rootProject.projectDir, "fineract-provider/bin/main")
|
||||||
|
}
|
||||||
|
|
||||||
|
eclipse
|
||||||
|
{
|
||||||
|
project {
|
||||||
|
buildCommand([ LaunchConfigHandle: "<project>/.externalToolBuilders/OpenJPA Enhance Builder.launch" ], 'org.eclipse.ui.externaltools.ExternalToolBuilder')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
|
/* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
|
||||||
sourceSets.main.output.resourcesDir = sourceSets.main.java.outputDir
|
sourceSets.main.output.resourcesDir = sourceSets.main.java.outputDir
|
||||||
sourceSets.test.output.resourcesDir = sourceSets.test.java.outputDir
|
sourceSets.test.output.resourcesDir = sourceSets.test.java.outputDir
|
||||||
|
|||||||
Reference in New Issue
Block a user