-
Notifications
You must be signed in to change notification settings - Fork 36
Migration to Gradle #54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
Show all changes
37 commits
Select commit
Hold shift + click to select a range
c5925c6
Added gradle to gitignore
NicoPiel 2993cef
Add gradle
NicoPiel 7261684
Added preliminary build.gradle files
NicoPiel 092409f
Moved directories to comply with Gradle
NicoPiel 0f0a46d
Moved donkey to Gradle
NicoPiel 4184fc1
Working on /server
NicoPiel b4d1c6e
Building works
NicoPiel b97c794
Getting rid of .classpath and .project files
NicoPiel 480ccde
Getting rid of .classpath and .project files
NicoPiel b38021e
Excluded .classpath and .project files from git
NicoPiel 3ee6663
command now builds
NicoPiel 2b87e62
Removed command/lib
NicoPiel b8a9c4b
Getting rid of server/lib
NicoPiel 50925ab
Manager compiles
NicoPiel 3230a65
Excluding webadmin/bin folder
NicoPiel 7cdca65
webadmin compiles
NicoPiel 04d4b82
dumdum (cli was a build artifact)
NicoPiel a949455
Moved files around to comply with Gradle's standards
NicoPiel b83fb1e
Made changes to client/build.gradle and reverted extension structure …
NicoPiel a128527
Client compiles
NicoPiel 45273a9
Added missing JavaFX dependencies
NicoPiel 1fab3cf
Removed most Ant build files
NicoPiel 5dc4f65
Removes unused build properties
NicoPiel 032c399
Updated Gradle to 8.13
NicoPiel 7654e73
Updates build configuration for Gradle
NicoPiel 2a96d7e
Simplifies donkey project dependency
NicoPiel e467685
Add .gitignore entry for aider
NicoPiel 0ce601a
Deleted tree.txt
NicoPiel 38eaa7d
move and rename java 9+ vmoptions file
tonygermano cc8983f
Add tiered vmoptions to local build
tonygermano a7fc805
Merge branch 'main' into feature/gradle
NicoPiel 92247cc
Moved new files from main to appropriate directory
NicoPiel f63db0a
Project builds and outputs (mostly) original setup dir!
NicoPiel 6ab7498
Removes Ant build system
NicoPiel 5f00310
Closer to working build
NicoPiel cc7ae78
Streamlines distribution and build process
NicoPiel 06b6fe8
Added lib folders back in to reduce amount of changes
NicoPiel File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| # | ||
| # https://help.github.com/articles/dealing-with-line-endings/ | ||
| # | ||
| # Linux start script should use lf | ||
| /gradlew text eol=lf | ||
|
|
||
| # These are Windows script files and should use crlf | ||
| *.bat text eol=crlf | ||
|
|
||
| # Binary files should be left untouched | ||
| *.jar binary | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,4 @@ | ||
| # Enable auto-env through the sdkman_auto_env config | ||
| # Add key=value pairs of SDKs to use below | ||
| java=8.0.442.fx-zulu | ||
| ant=1.10.14 | ||
| ant=1.10.14 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,170 @@ | ||
| plugins { | ||
| id 'base' | ||
| id 'distribution' | ||
| id 'com.gradleup.shadow' version '8.3.6' | ||
| } | ||
|
|
||
| import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar | ||
|
|
||
| allprojects { | ||
| group = 'com.mirth.connect' | ||
| version = '4.5.3' | ||
| } | ||
|
|
||
| subprojects { | ||
| apply plugin: 'java' | ||
|
|
||
| sourceCompatibility = JavaVersion.VERSION_1_8 | ||
| targetCompatibility = JavaVersion.VERSION_1_8 | ||
|
|
||
| tasks.withType(JavaCompile) { | ||
| options.encoding = 'UTF-8' | ||
| } | ||
|
|
||
| dependencies { | ||
| implementation 'commons-beanutils:commons-beanutils:1.9.4' | ||
| implementation 'commons-cli:commons-cli:1.2' // Older version | ||
| implementation 'commons-codec:commons-codec:1.16.0' | ||
| implementation 'commons-collections:commons-collections:3.2.2' // Very old, potential conflict with collections4 | ||
| implementation 'org.apache.commons:commons-collections4:4.4' | ||
| implementation 'org.apache.commons:commons-compress:1.24.0' | ||
| implementation 'org.apache.commons:commons-configuration2:2.8.0' | ||
| implementation 'org.apache.commons:commons-dbcp2:2.0.1' // Old | ||
| implementation 'commons-dbutils:commons-dbutils:1.7' | ||
| implementation 'org.apache.commons:commons-digester3:3.2' | ||
| implementation 'commons-el:commons-el:1.0' // Old, JSP related | ||
| implementation 'org.apache.commons:commons-email:1.3.1' // Check version | ||
| implementation 'commons-fileupload:commons-fileupload:1.5' | ||
| implementation 'commons-httpclient:commons-httpclient:3.0.1' // Very old Apache HttpClient 3.x | ||
| implementation 'commons-io:commons-io:2.13.0' | ||
| implementation 'commons-jxpath:commons-jxpath:1.3' | ||
| implementation 'org.apache.commons:commons-lang3:3.13.0' | ||
| implementation 'commons-logging:commons-logging:1.2' // Bridge, ensure single binding downstream | ||
| implementation 'org.apache.commons:commons-math3:3.0' // Old | ||
| implementation 'commons-net:commons-net:3.3' // Old | ||
| implementation 'org.apache.commons:commons-pool2:2.3' // Old | ||
| implementation 'org.apache.commons:commons-text:1.10.0' | ||
| implementation 'org.apache.commons:commons-vfs2:2.9.0' | ||
| implementation 'org.apache.httpcomponents:httpcore:4.4.13' | ||
| implementation 'org.apache.httpcomponents:httpmime:4.5.13' | ||
| implementation 'ca.juliusdavies:not-yet-commons-ssl:0.3.11' | ||
|
|
||
| // RSyntaxTestArea | ||
| implementation 'com.fifesoft:rsyntaxtextarea:2.6.1' | ||
| implementation 'com.fifesoft:autocomplete:2.5.4' | ||
| implementation 'com.fifesoft:languagesupport:2.5.6' | ||
|
|
||
| // Rhino (JavaScript engine) | ||
| implementation 'org.mozilla:rhino:1.7.13' | ||
|
|
||
| implementation 'com.thoughtworks.xstream:xstream:1.4.20' | ||
| implementation 'xpp3:xpp3:1.1.4c' | ||
| implementation 'com.zaxxer:HikariCP:2.5.1' | ||
| implementation 'org.javassist:javassist:3.26.0-GA' | ||
| implementation 'org.apache.logging.log4j:log4j-core:2.17.2' | ||
| implementation 'org.apache.logging.log4j:log4j-api:2.17.2' | ||
| implementation 'org.apache.logging.log4j:log4j-1.2-api:2.17.2' | ||
| implementation 'org.slf4j:slf4j-api:1.7.30' | ||
|
|
||
| // DB | ||
| implementation 'org.apache.derby:derby:10.10.2.0' | ||
| implementation 'org.apache.derby:derbytools:10.10.2.0' | ||
| implementation 'net.sourceforge.jtds:jtds:1.3.1' | ||
| implementation 'com.microsoft.sqlserver:mssql-jdbc:8.4.1.jre8' | ||
| implementation 'com.mysql:mysql-connector-j:8.2.0' | ||
| implementation 'com.oracle.database.jdbc:ojdbc8:12.2.0.1' | ||
| implementation 'org.postgresql:postgresql:42.6.0' | ||
|
|
||
| // --- Common Test Dependencies --- | ||
| testImplementation 'junit:junit:4.8.1' | ||
| testImplementation 'org.mockito:mockito-core:2.7.9' | ||
| testImplementation 'net.bytebuddy:byte-buddy:1.8.8' | ||
| testImplementation 'net.bytebuddy:byte-buddy-agent:1.8.8' | ||
| testImplementation 'org.objenesis:objenesis:2.5.1' | ||
| testImplementation 'org.glassfish.hk2.external:aopalliance-repackaged:2.4.0-b31' | ||
| testImplementation 'javax.inject:javax.inject:1' | ||
|
|
||
| // xpp3 is transitive via xstream | ||
| testImplementation 'com.zaxxer:HikariCP:2.5.1' | ||
| testImplementation 'org.javassist:javassist:3.26.0-GA' | ||
|
|
||
| // Provide Logging implementation & binding for tests | ||
| testRuntimeOnly 'org.apache.logging.log4j:log4j-core:2.17.2' | ||
| testRuntimeOnly 'org.apache.logging.log4j:log4j-slf4j-impl:2.17.2' | ||
|
|
||
| // Velocity (Templating) | ||
| implementation 'org.apache.velocity:velocity-engine-core:2.3' | ||
| implementation 'org.apache.velocity.tools:velocity-tools-generic:3.1' | ||
| } | ||
|
|
||
| tasks.withType(Jar.class).configureEach { | ||
| duplicatesStrategy = DuplicatesStrategy.EXCLUDE | ||
| } | ||
|
|
||
| tasks.withType(Tar.class).configureEach { | ||
| duplicatesStrategy = DuplicatesStrategy.EXCLUDE | ||
| } | ||
|
|
||
| tasks.withType(Zip.class).configureEach { | ||
| duplicatesStrategy = DuplicatesStrategy.EXCLUDE | ||
| } | ||
|
|
||
| tasks.withType(ShadowJar.class).configureEach { | ||
| zip64 = true | ||
| } | ||
| } | ||
|
|
||
| distributions { | ||
| main { | ||
| evaluationDependsOnChildren() | ||
| distributionBaseName = 'OIE' | ||
|
|
||
| contents { | ||
| // Resources | ||
| from('server/src/main/resources') | ||
| from('command/src/main/resources') | ||
|
|
||
| into('client-lib') { | ||
| from(project(':client').getConfigurations().runtimeClasspath) | ||
| from(project(':command').getTasksByName('jar', false)) | ||
| from(project(':server').getTasksByName('cryptoJar', false)) | ||
| from(project(':server').getTasksByName('clientCoreJar', false)) | ||
| from(project(':server').getTasksByName('userutilSourcesJar', false)) | ||
| } | ||
|
|
||
| into('cli-lib') { | ||
| from(project(':command').getConfigurations().runtimeClasspath) | ||
| from(project(':command').getTasksByName('jar', false)) | ||
| from(project(':server').getTasksByName('cryptoJar', false)) | ||
| from(project(':server').getTasksByName('clientCoreJar', false)) | ||
| } | ||
|
|
||
| into('manager-lib') { | ||
| from(project(':manager').getConfigurations().runtimeClasspath) | ||
| from(project(':command').getTasksByName('jar', false)) | ||
| from(project(':server').getTasksByName('cryptoJar', false)) | ||
| from(project(':server').getTasksByName('clientCoreJar', false)) | ||
| } | ||
|
|
||
| into('server-lib') { | ||
| from(project(':server').getConfigurations().runtimeClasspath) | ||
| from(project(':command').getTasksByName('jar', false)) | ||
| from(project(':server').getTasksByName('jar', false)) | ||
| from(project(':server').getTasksByName('cryptoJar', false)) | ||
| from(project(':server').getTasksByName('clientCoreJar', false)) | ||
| } | ||
|
|
||
| into('extensions') { | ||
| from(project(':client').tasks.matching { Task task -> task.name ==~ /jar.*Client/ }) | ||
| } | ||
|
|
||
| into('webapps') { | ||
| from (project('webadmin').getTasksByName('war', false)) | ||
| } | ||
|
|
||
| from(project(':server').getTasksByName('shadowJar', false)) | ||
| from(project(':manager').getTasksByName('shadowJar', false)) | ||
| from(project(':command').getTasksByName('shadowJar', false)) | ||
| } | ||
| } | ||
| } |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason you didn't go with the kotlin style build.gradle.kts?
IMHO it should be the default for any new project, the tooling support is so much better!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No reason at all. But good catch. I'll convert them :)