Skip to content
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

Removed customBuildCallbacks.xml from launcher fragments #318

Conversation

Torbjorn-Svensson
Copy link
Contributor

All the launcher fragments are using launcher-binary-parent and it retrieves the binaries for the equinox.binaries repository.
The customBuildCallbacks.xml files are thus no longer needed and they also contains the old git.eclipse.org repository URL.

@Torbjorn-Svensson Torbjorn-Svensson force-pushed the pr/remove-customBuildCallbacks.xml branch from 30c1ac3 to b1191e2 Compare September 30, 2023 11:38
@github-actions
Copy link

github-actions bot commented Sep 30, 2023

Test Results

     24 files  +     24       24 suites  +24   11m 56s ⏱️ + 11m 56s
2 150 tests +2 150  2 106 ✔️ +2 106  44 💤 +44  0 ±0 
2 194 runs  +2 194  2 150 ✔️ +2 150  44 💤 +44  0 ±0 

Results for commit 2478a2f. ± Comparison against base commit 357830a.

♻️ This comment has been updated with latest results.

@Torbjorn-Svensson
Copy link
Contributor Author

@iloveeclipse: Can you take a look at this PR and enlighten me if the failed tests are related to my changes?

@iloveeclipse
Copy link
Member

Can you take a look at this PR and enlighten me if the failed tests are related to my changes?

Should be unrelated.

@akurtakov
Copy link
Member

@sravanlakkimsetti Would you please review this one?

@sravanlakkimsetti
Copy link
Member

@sravanlakkimsetti Would you please review this one?

Sure taking a look.

@sravanlakkimsetti sravanlakkimsetti force-pushed the pr/remove-customBuildCallbacks.xml branch from b1191e2 to 864bc35 Compare October 2, 2023 04:49
Copy link
Member

@sravanlakkimsetti sravanlakkimsetti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This actually provides the timestamp when the launcher has been built. If you want to remove this please update the code where it is getting updated as well.

See https://github.com/Torbjorn-Svensson/eclipse-equinox_equinox/blob/b1191e227e22399d7ff70f14e48b8b89a8725802/releng/org.eclipse.equinox.launcher.releng/build.xml#L246

@sravanlakkimsetti
Copy link
Member

@Torbjorn-Svensson
Copy link
Contributor Author

Torbjorn-Svensson commented Oct 2, 2023

By the way we use only commitBinaries target from https://github.com/Torbjorn-Svensson/eclipse-equinox_equinox/blob/pr/remove-customBuildCallbacks.xml/releng/org.eclipse.equinox.launcher.releng/build.xml

All other targets are obsolete.

I'll update the "commitBinaries" target to not call replaceregex and the git commit.
Do you also want me to purge all but the "commitBinaries" target (and it's dependent targets)?

Edit:
I guess that the binaryTag property could be left too, but I would like to get rid of the code that is not use any more as it would make it easier to figure out how to do local builds.

@sravanlakkimsetti
Copy link
Member

By the way we use only commitBinaries target from https://github.com/Torbjorn-Svensson/eclipse-equinox_equinox/blob/pr/remove-customBuildCallbacks.xml/releng/org.eclipse.equinox.launcher.releng/build.xml
All other targets are obsolete.

I'll update the "commitBinaries" target to not call replaceregex and the git commit. Do you also want me to purge all but the "commitBinaries" target (and it's dependent targets)?

Edit: I guess that the binaryTag property could be left too, but I would like to get rid of the code that is not use any more as it would make it easier to figure out how to do local builds.

I would prefer leaving binaryTag. Lets leave that as is. You may purge all other targets. But that you can take it later.

Actually launcher build is quite striaght forward. One thing to note is need to use same nodes as SWT build. Here are the steps

  1. clone the repos
git clone -b ${branch} [email protected]:eclipse-equinox/equinox.git
  1. cd equinox/features/org.eclipse.equinox.executable.feature/library/<windowing system>
  2. run build.<sh|bat>

The above will create in 2 executables in unix based enviroments viz. eclipse, eclise_xxxx.so. and 3 in Windows ecluse.exe, eclisec.exe and eclipse_xxxx.dll.

if you have equinox.binaries repo cloned, the built libraries will get copied over to binaries repo. Other wise they will be in equinox/features/org.eclipse.equinox.executable.feature/library/<windowing system>. copy them to your existing eclipse instance and test them.

Please note in Mac you'll need to open eclipse atleast once before replacing the binaries. otherwise Mac secutity check will fail.

In case of build from https://ci.eclipse.org/releng, Here are the steps

  1. Clone the repos
  2. create a zip file of equinox/features/org.eclipse.equinox.executable.feature/library/
  3. Trigger builds on respective nodes and configurations and wait
  4. Once completed. Fetch the libs.<tar.gz|zip> from respective nodes
  5. extract them.
  6. Sign them
  7. copy over to binaries repo and commit

process on the respective nodes

  1. Fetch library.zip
  2. extract the library.zip
  3. build using build.<sh|bat>
  4. create a zip file of built artifacts(executables eclipse, eclipse_xxxx.so or eclipse.exe, eclipsec.exe, eclipse_xxxx.dll)
  5. archive the zip file so that it can be retrieved by the parent job.

I hope this clarifies the build process of launcher.

If you need any clarifications please don't hesitate to contact me.

@Torbjorn-Svensson
Copy link
Contributor Author

By the way we use only commitBinaries target from https://github.com/Torbjorn-Svensson/eclipse-equinox_equinox/blob/pr/remove-customBuildCallbacks.xml/releng/org.eclipse.equinox.launcher.releng/build.xml
All other targets are obsolete.

I'll update the "commitBinaries" target to not call replaceregex and the git commit. Do you also want me to purge all but the "commitBinaries" target (and it's dependent targets)?
Edit: I guess that the binaryTag property could be left too, but I would like to get rid of the code that is not use any more as it would make it easier to figure out how to do local builds.

I would prefer leaving binaryTag. Lets leave that as is. You may purge all other targets. But that you can take it later.

Ok, I'll update the PR later today.

Actually launcher build is quite striaght forward. One thing to note is need to use same nodes as SWT build. Here are the steps

Thanks for the details on how to build the binaries, but in my case, I was just touching the java code so no building of binaries were needed.
When I tried to build the java code with maven, I got some errors related to that the binaries were not found. While looking for where the binaries were supposed to be placed, I saw that there were a way to fetch the binaries using git archive. However, all this logic is "disconnected" as the logic that is used is placed in the pom.xml and not in the customBuildCallbacks.xml.
So, to avoid anyone else falling into this rabbit hole, I decided to try to clean it up to only contain the logic that is actually used and not keep the legacy in HEAD.

@Torbjorn-Svensson Torbjorn-Svensson force-pushed the pr/remove-customBuildCallbacks.xml branch from 864bc35 to 270f490 Compare October 2, 2023 17:04
All the launcher fragments are using launcher-binary-parent and it
retrieves the binaries for the equinox.binaries repository.
The customBuildCallbacks.xml files are thus no longer needed and they
also contains the old git.eclipse.org repository URL.

Signed-off-by: Torbjörn SVENSSON <[email protected]>
@Torbjorn-Svensson Torbjorn-Svensson force-pushed the pr/remove-customBuildCallbacks.xml branch from 270f490 to 2478a2f Compare October 3, 2023 12:03
@Torbjorn-Svensson
Copy link
Contributor Author

Rebased the PR to avoid the conflict.

@sravanlakkimsetti can you review again and merge if ok?

@sravanlakkimsetti sravanlakkimsetti merged commit 4c41c80 into eclipse-equinox:master Oct 3, 2023
20 of 23 checks passed
@sravanlakkimsetti
Copy link
Member

This change doesn't require a native parts of launcher rebuild. Merged the code. and new launcher jar should be produced in the next I build

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants