FINERACT-918: Changes to running and debugging in Eclipse
This commit is contained in:
committed by
Michael Vorburger ⛑️
parent
1a397c5663
commit
e295bef743
@@ -69,6 +69,24 @@ Run the following commands, very similarly to how [.travis.yml](.travis.yml) doe
|
|||||||
1. `./gradlew clean integrationTest`
|
1. `./gradlew clean integrationTest`
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
To do this, you need to create the Eclipse project files and import the project into an Eclipse workspace:
|
||||||
|
|
||||||
|
1. Create Eclipse project files into the Fineract project by running `./gradlew cleanEclipse eclipse`
|
||||||
|
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.
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
Finally, modifying source code in Eclipse automatically triggers hot code replace to a running instance, allowing you to immediately test your changes
|
||||||
|
|
||||||
|
|
||||||
Instructions to run using Docker and docker-compose
|
Instructions to run using Docker and docker-compose
|
||||||
===================================================
|
===================================================
|
||||||
|
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
|
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
|
||||||
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
|
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
|
||||||
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||||
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
|
||||||
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.compliance=1.8
|
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.compliance=11
|
||||||
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||||
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
|
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
|
||||||
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
|
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
|
||||||
|
<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_LOCATION" value="${workspace_loc:/fineract-provider/gradlew}"/>
|
||||||
|
<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"/>
|
||||||
|
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
|
||||||
|
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/fineract-provider}"/>
|
||||||
|
</launchConfiguration>
|
||||||
@@ -158,6 +158,20 @@ repositories {
|
|||||||
// mavenLocal() // useful for local dev using MariaDB4j SNAPSHOTs (not needed for real-world non-SNAPHOT builds)
|
// mavenLocal() // useful for local dev using MariaDB4j SNAPSHOTs (not needed for real-world non-SNAPHOT builds)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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, "bin/main")
|
||||||
|
}
|
||||||
|
|
||||||
|
eclipse
|
||||||
|
{
|
||||||
|
project {
|
||||||
|
buildCommand([ LaunchConfigHandle: "<project>/.externalToolBuilders/OpenJPA Enhance Builder.launch" ], 'org.eclipse.ui.externaltools.ExternalToolBuilder')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
openjpa {
|
openjpa {
|
||||||
includes = ['**/AbstractPersistableCustom.class', '**/domain/*.class']
|
includes = ['**/AbstractPersistableCustom.class', '**/domain/*.class']
|
||||||
enhance {
|
enhance {
|
||||||
|
|||||||
@@ -4328,7 +4328,7 @@ function executeAjaxRequest(url, verbType, jsonData, authKey, successFunction, e
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Two-Factor authentication and delivery methods can be configured via
|
Two-Factor authentication and delivery methods can be configured via
|
||||||
the <a href="#twofactor_configure"<i>/twofactor/configure</i> endpoint.</a>
|
the <a href="#twofactor_configure"><i>/twofactor/configure</i> endpoint.</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="method-example">
|
<div class="method-example">
|
||||||
|
|||||||
Reference in New Issue
Block a user