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`
|
||||
|
||||
|
||||
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
|
||||
===================================================
|
||||
|
||||
|
||||
@@ -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.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.targetPlatform=1.8
|
||||
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.compliance=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=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.deprecationInDeprecatedCode=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)
|
||||
}
|
||||
|
||||
// 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 {
|
||||
includes = ['**/AbstractPersistableCustom.class', '**/domain/*.class']
|
||||
enhance {
|
||||
|
||||
@@ -4328,7 +4328,7 @@ function executeAjaxRequest(url, verbType, jsonData, authKey, successFunction, e
|
||||
</p>
|
||||
<p>
|
||||
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>
|
||||
</div>
|
||||
<div class="method-example">
|
||||
|
||||
Reference in New Issue
Block a user