archiver-appliance / epicsarchiverap

This is an implementation of an archiver for EPICS control systems that aims to archive millions of PVs.
Other
38 stars 37 forks source link

Recover the ant building system #218

Closed jeonghanlee closed 3 months ago

jeonghanlee commented 3 months ago

@slacmshankar and @jacomago

Could you recover the ant building system was removed at https://github.com/archiver-appliance/epicsarchiverap/pull/176/commits/44fba7b9bf04d9d742b81de99f2ed91f0e00b5f5 ?

I had the very naive thought on Gradle could be a yet another version of ant or maven. And today, I spent a couple of hours, then I realized that I was completely wrong.

The main issue I have is that I don't have enough time to understand this building system, since this is not for only java. I have enough works to understand Makefile and maven.

And I don't want to understand the Gradle completely, since it has too many options which I don't need. And sometimes, it is not an option either. The hidden functionality executes something I don't want to do during the complication.

Gradle is a nice tool, I agree, but it is not for everyone who is the community.

I don't need the fancy building tools, but need a stable archiver appliance for the accelerator controls system.

jacomago commented 3 months ago

Hi @jeonghanlee .

I'm sorry for creating your confusion. @shroffk has also brought up the idea of trying to reduce the number of build systems the java side of epics use. I am welcome for anyone to convert the build system to maven and would support that. Or if people would prefer to move to gradle, I have no particular preference.

From the other posts you created, it looks like the problem you are facing is when inserting site templates into the site specific folder. I think I can fix this easily with an ignore folder in the build script. I'll work on this today. Please send me any other errors you encounter and I'll try fix them.

In the future, my aim is to not have non maintainers compile or build the program. I think this would produce a more stable program where there is more configuration than customization. Unfortunately pulling apart the site specific build steps takes time, which I haven't prioritised. Since here at ESS we do the html templating changes after the build. I will try prioritize it now.

Apologies again for the difficult migration. I have updated the documentation inside of the docs folder of the repository. I haven't updated the website as I only found out that it wasn't linked recently. That's hopefully a project we'll work on soon.

jacomago commented 3 months ago

@jeonghanlee Can you try branch https://github.com/jacomago/epicsarchiverap/tree/site-spefici-gradle ?

jeonghanlee commented 3 months ago

@slacmshankar and @jacomago can we recover the ant until we migrate it to maven? Is there any specific reason to remove ant building environment except old and legacy one?

I am comfortable about maven, but not gradle, which makes me sick to look at their own way to do everything, everywhere, and at the same time. The building system is only for the building purpose.

@jacomago gradle build doesn't work also.

jacomago commented 3 months ago

@jeonghanlee The ant builds were broken so we swapped to using only the gradle one. Have you tried the branch https://github.com/jacomago/epicsarchiverap/tree/github-test-site-specific which I think could fix your problem?

jeonghanlee commented 3 months ago
jeonghanlee commented 3 months ago

@slacmshankar do you not work on here anymore? Now did ESS take over the repository completely?

jacomago commented 3 months ago

@jeonghanlee There was an issue where the ant build was creating wars which wouldn't then run. So yes the ant build system worked, but it did not create usable war files.

I've emailed you and @slacmshankar to discuss this ticket.

jeonghanlee commented 3 months ago

@jacomago Okay, I accepted this unacceptable situation. No documents, no fix issues, and merged the broken codes into the masters, and so on.

Please fix a gradle build system not gradle wrapper. According to the gradle instruction, I am supposed to build by typing gradle build.

slacmshankar commented 3 months ago

Apologies; I was on vacation. I'm not sure re-adding the ant build system is worth it. One of the main issues I had with that was the complexity of upgrading the dependent jar files. I'm spending a fair amount of time catching up on technical debt and that main reason is because of the Ant build system I think. And I'd like to move to something the rest of the collaboration is using.

We'll update the documentation during the summer codeathon and hopefully get some of the build specific features back in. In the meantime, plz reach out to Sky et al if you need help with specific build issues.

shroffk commented 3 months ago

I'm not sure re-adding the ant build system is worth it. One of the main issues I had with that was the complexity of upgrading the dependent jar files.

+1

I am glad to hear your take murali.

We can definitely work in the documentation and input from Han can be very valuable to ensure the documentation is useful.

I also think we should explore the possibility of moving to maven... for the simple reason that we can then standardize the build for all the EPICS middle layer services and tools