Conversation
|
I did the similar work in my fork - and I noticed the resource loading i quite a bit messy. While most of it goes through the Base::reader method, some other parts do their own thing. fwiw, I also moved files to match the Apache Maven Standard Directory Layout. Makes the whole thing a lot cleaner, imo. |
|
Please note, the above patch introduces a version issue with Rotp.releaseId and the corresponding pom ${project.version}. |
|
Hi,
I tried moving to standard Maven directory structure, but rolled it back.
I think if I move things around too much, rebasing to main repo will become a pain. I'd rather stick to relatively minimal changes for now. And Ray doesn't seem to want to adopt Maven anyway.
So now I just have bare minimum maven config that builds from source files as they are in Ray's repo.
Ideally, I'd prefer 3 subprojects- one for core logic, one for GUI, one for resources. Have another subproject to package it all.
…--Coder
Sent with [ProtonMail](https://protonmail.com) Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, April 13, 2020 11:10 AM, Brian Matzon ***@***.***> wrote:
Please note, the above patch introduces a version issue with Rotp.releaseId and the corresponding pom ${project.version}.
Ideally, that would be read in from a build-info like file, instead of hardcoded into the Rotp class.
—
You are receiving this because you authored the thread.
Reply to this email directly, [view it on GitHub](#4 (comment)), or [unsubscribe](https://github.com/notifications/unsubscribe-auth/AJQMLX6EFTYRL24GNFWWTTDRMLQILANCNFSM4MGR6EDA).
|
|
Would Gradle be a more satisfactory solution? |
|
Hi,
Maybe it's my personal preference, but I prefer Maven.
Two main reasons is that it's opinionated, simple and CONFIGURATION not code based.
IMO if you need a programming language to specify how to do builds, you're screwing up and overcomplicated something. Building stuff should be simple easy. IMO it's easy to overcomplicate things with Gradle. It's harder to overcomplicate things with Maven.
I've seen projects with 1000s lines of code in Gradle Groovy to get stuff built. It was nuts. I haven't seen projects that went so far overboard with Maven.
…--Coder
Sent with [ProtonMail](https://protonmail.com) Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Sunday, May 31, 2020 12:32 PM, Evanova ***@***.***> wrote:
Would Gradle be a more satisfactory solution?
—
You are receiving this because you authored the thread.
Reply to this email directly, [view it on GitHub](#4 (comment)), or [unsubscribe](https://github.com/notifications/unsubscribe-auth/AJQMLX4ITBGAWTUEGASTNDTRUI54BANCNFSM4MGR6EDA).
|
I have no opinion on the matter - what is convenient to the main maintainers of a project is always best. Here's my Gradle file for the curious (I am impressed how this project has zero dependencies btw) Use 'gradlew run' to start the app. |
There was a problem hiding this comment.
I would suggest adding GitHub Action for mvn so the maintainer can easily verify if the change doesn't break anything.
In general, great work, wanted to propose something similar.
| <plugins> | ||
| <plugin> | ||
| <groupId>org.apache.maven.plugins</groupId> | ||
| <artifactId>maven-compiler-plugin</artifactId> |
There was a problem hiding this comment.
groupId could be dropped since maven assumes that. On the other hand, version should be added to make builds stable.
| </plugin> | ||
| <plugin> | ||
| <groupId>org.apache.maven.plugins</groupId> | ||
| <artifactId>maven-shade-plugin</artifactId> |
| <modelVersion>4.0.0</modelVersion> | ||
| <groupId>com.rayfowler</groupId> | ||
| <artifactId>ROTP</artifactId> | ||
| <version>1.1</version> |
There was a problem hiding this comment.
https://www.mojohaus.org/templating-maven-plugin/ could be used to transfer version into code. I suggest special class for that like ProjectInfo which contains constants from pom.
This time I left the files in place, for minimum change.
I added pom.xml. Deleted Apache math java files. Added 3rd party dependency on Apache math and packaging setup to include it in final jar. Modified gitignore to support IntelliJ Idea.