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

Add target platform creation to build script #20

Closed
wants to merge 7 commits into from

Conversation

bruno-medeiros
Copy link
Contributor

Some notes: deps-repository/category.xml duplicated code from repository/category.xml . Perhaps this could be fixed by using the Tycho mirror goal, but I haven't tried, don't think it's important to focus on that now.

There seem to quite a few dependencies that are not necessary. Perhaps something to look at in a future patch?

Also, what is -P build-individual-bundles and why is it necessary for the maven build?

@mickaelistria
Copy link
Contributor

There seem to quite a few dependencies that are not necessary. Perhaps something to look at in a future patch?

namely?

Also, what is -P build-individual-bundles and why is it necessary for the maven build?

This is necessary in order to build the platform parts (generic editor). It will move away once the suggested contribution is in Platform master branch.

<unit id="org.eclipse.xtext.xbase.lib.feature.group" version="2.10.0.v201605250459"/>
<repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/"/>
</location>
<location path="${project_loc:eclipse-language-service}/deps-repository/target/repository/plugins" type="Directory"/>
Copy link
Contributor

Choose a reason for hiding this comment

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

${project_loc:eclipse-language-service}! I wasn't aware of that trick, that seems great!
If we go for it, it means that we need the eclipse-language-service to exist in workspace, so we should also add the .project that sets the name and configuration.

@bruno-medeiros
Copy link
Contributor Author

bruno-medeiros commented Sep 7, 2016

There seem to quite a few dependencies that are not necessary. Perhaps something to look at in a future patch?

namely?

I removed org.eclipse.json , org.apache.httpcomponents.httpclient and org.apache.httpcomponents.httpcore , and didn't notice any compilation errors. Nor did I notice it being used in an extension. However, I didn't actually run the IDE yet, so maybe there are used somehow during runtime?

Also, what is -P build-individual-bundles and why is it necessary for the maven build?

This is necessary in order to build the platform parts (generic editor). It will move away once the suggested contribution is in Platform master branch.

I still don't quite understand what it does, even though I've read https://bugs.eclipse.org/bugs/show_bug.cgi?id=424089 and http://www.vogella.com/tutorials/EclipsePlatformDevelopment/article.html#build-single-parts-of-the-aggregator
I mean it "builds just single parts of the aggregator repository" - as opposed to what?

@mickaelistria
Copy link
Contributor

I removed org.eclipse.json , org.apache.httpcomponents.httpclient and org.apache.httpcomponents.httpcore , and didn't notice any compilation errors. Nor did I notice it being used in an extension. However, I didn't actually run the IDE yet, so maybe there are used somehow during runtime?

Ok, yeah, that's garbage. Feel free to remove them (by this PR or another one).

I mean it "builds just single parts of the aggregator repository" - as opposed to what?

As opposed to "build all Eclipse platform". What it does it that it adds reference to the Platform repository that's used in order to build master. Without it, building this part fails with missing dependencies.
There are most likely way to do something better, however, since all that should be temporary in vanish in the very next weeks, it's probably not worth spending too much effort on it.

<unit id="org.eclipse.xtext.xbase.lib.feature.group" version="2.10.0.v201605250459"/>
<repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/"/>
</location>
<location path="${project_loc:eclipse-language-service}/deps-repository/target/repository/plugins" type="Directory"/>
Copy link
Contributor

Choose a reason for hiding this comment

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

If we include ls-api from http://services.typefox.io/open-source/jenkins///job/lsapi/lastSuccessfulBuild/artifact/build/p2-repository/ then the only remaining artifact is gson 2.5.0. Instead of creating a specific repo for it and using it in this .target, we could resolve to something like ${env_var:M2_REPO}/com/google/code/gson/gson/2.5/gson-2.5.jar.
I believe it makes things a bit simpler.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, that's good too, although user still needs to run build first, before setting the target platform (and needs to set M2_REPO env var if not set already). But this is all temporary anyways, we don't need a perfect solution now.

@mickaelistria
Copy link
Contributor

I merged a patch with a .target last week: ba12025
You should rebase your work on top of master as I believe it covers most of your contribution, except documentation.

@bruno-medeiros
Copy link
Contributor Author

(BTW I rebased my commits in the PR)

I don't mind if you prefer the M2_REPO location, but it would be nice to add the other cleanup changes in PR (not target platform related). At the very least, add the top-level .project file.

@bruno-medeiros
Copy link
Contributor Author

BTW, I've tried out https://github.com/andriusvelykis/pde-target-maven-plugin, but because of this issue:
andriusvelykis/pde-target-maven-plugin#2 I wouldn't recommend using it at this point. Attached sources are too useful to give up, even if a project has to maintain their own platform .target file manually.

@mickaelistria
Copy link
Contributor

The recent changes in platform and ls-api have allowed to set up a regular .target file and that make the proposed change obsoletel

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.

2 participants