Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 370704 - equinox launchers build
Summary: equinox launchers build
Status: CLOSED WONTFIX
Alias: None
Product: CBI
Classification: Technology
Component: prototype (show other bugs)
Version: 1.0   Edit
Hardware: All All
: P2 normal (vote)
Target Milestone: ---   Edit
Assignee: Krzysztof Daniel CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 376034 382716 383290 383634 394216
Blocks:
  Show dependency tree
 
Reported: 2012-02-06 06:44 EST by Igor Fedorenko CLA
Modified: 2018-01-04 04:32 EST (History)
6 users (show)

See Also:


Attachments
Building launchers and executable (16.89 KB, patch)
2012-06-19 07:42 EDT, Krzysztof Daniel CLA
no flags Details | Diff
Patch v2 (13.12 KB, patch)
2012-06-19 08:43 EDT, Krzysztof Daniel CLA
no flags Details | Diff
Build native launchers. (4.21 KB, patch)
2012-06-27 08:17 EDT, Krzysztof Daniel CLA
no flags Details | Diff
4_platform-aggregator/rt.equinox.framework/bundles/org.eclipse.equinox.executable/pom.xml (10.40 KB, text/xml)
2012-06-27 08:24 EDT, Krzysztof Daniel CLA
no flags Details
/home/kdaniel/cbi2/R4_platform-aggregator/rt.equinox.framework/launcher-binary-parent/pom.xml (3.12 KB, text/xml)
2012-06-27 08:26 EDT, Krzysztof Daniel CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Igor Fedorenko CLA 2012-02-06 06:44:04 EST
As of 3.8M4, I believe the following procedure is used to build new versions
of org.eclipse.equinox.launcher.* fragment bundles and 
org.eclipse.equinox.executable feature.

Developer
- New version of binaries is compiled and committed to rt.equinox.binaries.git
  repository and the commit is tagged.
- build.properties of the corresponding org.eclipse.equinox.launcher.* project
  is updated to include commit tag of the binary. build.properties is 
  committed.
- rt.equinox.framework is tagged as per usual dev flow

Build system
- custom ant callback script of the org.eclipse.equinox.launcher.* project
  extracts the tagged version of the binary from rt.equinox.binaries.git
  and stores it at the expected location under project basedir.
- build proceeds normally to create fragment bundle jar


In order to simplify migration of rt.equinox.framework build to cbi/tycho
I suggest eliminate intermediate binary-only repository and keep binaries
and other files related to native launchers in the same git repository.
In other words, merge contents of org.eclipse.equinox.executable and
org.eclipse.equinox.launcher.* projects currently split between 
rt.equinox.binaries.git and rt.equinox.framework.git repositories in one
place, rt.equinox.binaries.git for example. 

The proposed simplified development flow

Developer
- New version of binaries is compiled and committed to rt.equinox.framework.git
  or the new rt.equinox.framework.launcher.git repository.
- rt.equinox.framework is tagged as per usual dev process

Build system
- build proceeds normally to create fragment bundle jar and feature jar
Comment 1 Andrea Ross CLA 2012-02-10 15:03:27 EST
Increasing the priority on this ticket.
Comment 2 Paul Webster CLA 2012-03-05 08:27:35 EST
This would probably use the same mechanism as bug 372794

PW
Comment 3 Igor Fedorenko CLA 2012-04-03 23:44:48 EDT
I've opened bug 376034 to track required changes to rt.equinox.binaries.git and rt.equinox.framework.git git repositories.
Comment 4 Andrea Ross CLA 2012-05-30 14:58:41 EDT
Does Bug 377116 include the work that this bug would enable?
Comment 5 Krzysztof Daniel CLA 2012-06-19 07:42:21 EDT
Created attachment 217541 [details]
Building launchers and executable

This patch enables building launchers and executables.  It assembles bundles using precompiled libraries. I will work on building everything from source as soon as the entire natives repo is not needed anymore.
Comment 6 Krzysztof Daniel CLA 2012-06-19 08:43:18 EDT
Created attachment 217542 [details]
Patch v2
Comment 7 Thanh Ha CLA 2012-06-25 11:25:20 EDT
(In reply to comment #6)
> Created attachment 217542 [details]
> Patch v2

I pushed this patch into CBI repos but left the modules in the parent pom.xml commented out waiting on Bug 383290 to be resolved.
Comment 8 Thanh Ha CLA 2012-06-26 10:56:12 EDT
(In reply to comment #7)
> (In reply to comment #6)
> > Created attachment 217542 [details]
> > Patch v2
> 
> I pushed this patch into CBI repos but left the modules in the parent pom.xml
> commented out waiting on Bug 383290 to be resolved.

I've removed the comments in the repos since Bug 383290 is resolved.
Comment 9 Krzysztof Daniel CLA 2012-06-27 08:17:35 EDT
Created attachment 217927 [details]
Build native launchers.
Comment 10 Krzysztof Daniel CLA 2012-06-27 08:24:45 EDT
Created attachment 217928 [details]
4_platform-aggregator/rt.equinox.framework/bundles/org.eclipse.equinox.executable/pom.xml
Comment 11 Krzysztof Daniel CLA 2012-06-27 08:26:45 EDT
Created attachment 217929 [details]
/home/kdaniel/cbi2/R4_platform-aggregator/rt.equinox.framework/launcher-binary-parent/pom.xml

Sorry for those two poms. I have ammended wrong commit and cannot create a right patch now.
Comment 12 Thanh Ha CLA 2012-06-27 20:46:14 EDT
(In reply to comment #9)
> Created attachment 217927 [details]
> Build native launchers.

I pushed the latest patches into cbi.
Comment 13 Krzysztof Daniel CLA 2012-07-17 01:58:34 EDT
Marking as fixed.
Comment 14 Paul Webster CLA 2012-09-17 20:22:40 EDT
The current state of this:

org.eclipse.equinox.executable plugin is not being contributed to our current build.

The org.eclipse.equinox.executable_root* IUs are not being contributed.  This is probably related to bug 380695 and the support of root files.

PW
Comment 15 Krzysztof Daniel CLA 2012-09-19 08:06:33 EDT
(In reply to comment #14)
> org.eclipse.equinox.executable plugin is not being contributed to our current
> build.
How is that possible? I remove all *.so files before building Eclipse and I still get working installation.  If I forget to specify a native profile, I get an error that launcher was unable to locate a shared companion library, which looks like a working scenario...

Which root files were you talking about? Where can I locate them at look closer into the issue?
Comment 16 Paul Webster CLA 2012-09-19 08:43:08 EDT
http://build.eclipse.org/eclipse/cbi/r4/repo_diff.txt is the current diff of the M20120909-2000 build repo and our current 4.2.2 build repo. These IUs are all missing from the repo:

257d243
< org.eclipse.equinox.executable
260,283d245
< org.eclipse.equinox.executable_root.carbon.macosx.ppc
< org.eclipse.equinox.executable_root.carbon.macosx.x86
< org.eclipse.equinox.executable_root.cocoa.macosx.ppc
< org.eclipse.equinox.executable_root.cocoa.macosx.x86
< org.eclipse.equinox.executable_root.cocoa.macosx.x86_64
< org.eclipse.equinox.executable_root.gtk.aix.ppc
< org.eclipse.equinox.executable_root.gtk.aix.ppc64
< org.eclipse.equinox.executable_root.gtk.hpux.ia64_32
< org.eclipse.equinox.executable_root.gtk.linux.ppc
< org.eclipse.equinox.executable_root.gtk.linux.ppc64
< org.eclipse.equinox.executable_root.gtk.linux.s390
< org.eclipse.equinox.executable_root.gtk.linux.s390x
< org.eclipse.equinox.executable_root.gtk.linux.x86
< org.eclipse.equinox.executable_root.gtk.linux.x86_64
< org.eclipse.equinox.executable_root.gtk.solaris.sparc
< org.eclipse.equinox.executable_root.gtk.solaris.x86
< org.eclipse.equinox.executable_root.motif.aix.ppc
< org.eclipse.equinox.executable_root.motif.hpux.ia64_32
< org.eclipse.equinox.executable_root.motif.linux.x86
< org.eclipse.equinox.executable_root.motif.solaris.sparc
< org.eclipse.equinox.executable_root.win32.win32.ia64
< org.eclipse.equinox.executable_root.win32.win32.x86
< org.eclipse.equinox.executable_root.win32.win32.x86_64
< org.eclipse.equinox.executable_root.wpf.win32.x86

PW
Comment 17 Krzysztof Daniel CLA 2012-09-19 09:09:37 EDT
Let me check if I understood it right:

the org.eclipse.equinox.executable feature contains [1] contains gtk_root and motif_root folders.  Something should appear there, and an IU should be built around them?

Why did I get working build if such crucial items are missing?

[1] http://git.eclipse.org/c/equinox/rt.equinox.framework.git/tree/bundles/org.eclipse.equinox.executable
Comment 18 Paul Webster CLA 2012-09-19 09:20:16 EDT
In the cbi build repo, I see these IUs:

> org.eclipse.sdk.ide.executable.cocoa.macosx.x86
> org.eclipse.sdk.ide.executable.cocoa.macosx.x86_64
> org.eclipse.sdk.ide.executable.cocoa.macosx.x86_64.eclipse
> org.eclipse.sdk.ide.executable.cocoa.macosx.x86.eclipse
> org.eclipse.sdk.ide.executable.gtk.aix.ppc
> org.eclipse.sdk.ide.executable.gtk.aix.ppc64
> org.eclipse.sdk.ide.executable.gtk.aix.ppc64.eclipse
> org.eclipse.sdk.ide.executable.gtk.aix.ppc.eclipse
> org.eclipse.sdk.ide.executable.gtk.hpux.ia64_32
> org.eclipse.sdk.ide.executable.gtk.hpux.ia64_32.eclipse
> org.eclipse.sdk.ide.executable.gtk.linux.ppc64
> org.eclipse.sdk.ide.executable.gtk.linux.ppc64.eclipse
> org.eclipse.sdk.ide.executable.gtk.linux.s390
> org.eclipse.sdk.ide.executable.gtk.linux.s390.eclipse
> org.eclipse.sdk.ide.executable.gtk.linux.s390x
> org.eclipse.sdk.ide.executable.gtk.linux.s390x.eclipse
> org.eclipse.sdk.ide.executable.gtk.linux.x86
> org.eclipse.sdk.ide.executable.gtk.linux.x86_64
> org.eclipse.sdk.ide.executable.gtk.linux.x86_64.eclipse
> org.eclipse.sdk.ide.executable.gtk.linux.x86.eclipse
> org.eclipse.sdk.ide.executable.gtk.solaris.sparc
> org.eclipse.sdk.ide.executable.gtk.solaris.sparc.eclipse
> org.eclipse.sdk.ide.executable.gtk.solaris.x86
> org.eclipse.sdk.ide.executable.gtk.solaris.x86.eclipse
> org.eclipse.sdk.ide.executable.win32.win32.x86
> org.eclipse.sdk.ide.executable.win32.win32.x86_64
> org.eclipse.sdk.ide.executable.win32.win32.x86_64.eclipse
> org.eclipse.sdk.ide.executable.win32.win32.x86.eclipse

My guess is tycho publishes something to allow the product to be built/branded.

PW
Comment 19 Alexander Kurtakov CLA 2018-01-04 04:32:30 EST
Closing this bug. Binaries are not to be moved into main repo and Tycho based build is fine for years. In case someone plans improvements to the process please open new bug with fresh data.