Create source features automatically #344

Closed
abelhegedus opened this Issue Oct 26, 2012 · 8 comments

Comments

Projects
None yet
3 participants
Owner

abelhegedus commented Oct 26, 2012

There is a Tycho option to create features that contain the source bundle for each bundle in a given feature. This would help in ensuring, that users are able to access source files even without Git checkout.

ujhelyiz was assigned Oct 26, 2012

Collaborator

ujhelyiz commented Oct 26, 2012

Additionally, we should also fill out the Eclipse-SourceReferences with Tycho (should be possible with the new 0.16 version) - this would allow easy checkout from Git using the Plug-ins view.

@ujhelyiz ujhelyiz added a commit that referenced this issue Nov 22, 2012

@ujhelyiz ujhelyiz Generating source features #344 f57fb5b
Collaborator

ujhelyiz commented Nov 22, 2012

The build is updated. From now on, all source features are created using the Tycho feature. For the update site, the category.xml contains references to source features as well.

Owner

abelhegedus commented Nov 23, 2012

I have tried the solution and I'm sorry to say that it falls short in a number of ways:

  • The source features must be installed separately, the SDK does not include them.
    • This also leads to being unable to update easily. As @ujhelyiz told me, it is possible to install only the SDK, GMF, Graphiti and Testing source features, as they include the actual features as well.
  • The features have no readable name, instead, the name is the plug-in ID at the first page (where you can select features), and completely empty on the second page (after verification).
  • I have imported a project that was created in this way, and found that it does not equal with the project as we create it in the development environment.
    • There are no separate source folders (so Xtend and generated Java files appear together, which leads to errors when Xtend does generate the file into the xtend-gen folder).
    • The encoding is not remembered, which means that Xtend files (again, who else will fail?) containing some strange characters will be unable to compile.
Collaborator

ujhelyiz commented Nov 26, 2012

I have read about the possible solutions to these issues:

  • We could alter the update site to propagate the source feature for the SDK project. However, this does not seems easy to do - a workaround may be to introduce some placeholder feature for that.
  • Feature naming: see https://bugs.eclipse.org/bugs/show_bug.cgi?id=374349
  • Different source bundles: Please, try to source includes in the released version as well. Does it work the same way?
Owner

abelhegedus commented Nov 26, 2012

True, the source bundle problem exists in the old configuration as well, I guess we can't really do much about it...

Collaborator

ujhelyiz commented Nov 26, 2012

Maybe we can - I have some ideas to try - just wanted to make sure whether the issue is consistent with my "internal model".

Collaborator

ujhelyiz commented Dec 21, 2012

Yesterdays build failures were mostly related to changes to source feature generation. I would summarize the status of the issue.

The following changes have been made:

  • Source feature projects have names, but most of them have been removed from being directly visible in the update UI (they are present and are installed when required for a composite feature).
  • To avoid not too simple updates for the future, I replaced the SDK feature with the SDK source feature. For those who already installed the SDK feature, this might cause some minor update issues, but everything should be working for new installations.
  • The original source projects can be downloaded using the Plug-ins view from the git repository (see the bottom of the following help page for details: http://help.eclipse.org/indigo/index.jsp?topic=/org.eclipse.pde.doc.user/tasks/ui_import_from_cvs.htm)

Question:

  • Would it make sense to hide some binary features?
    • First of all, I believe all tooling features could be hidden, as they are included in the SDK.
    • Possibly the runtime features as well, but those are more likely to useful for others.

Further todo

  • Check the contents of packaged source features to be more similar to the original projects.
  • Document the update path.
Collaborator

ujhelyiz commented Jan 7, 2013

On todays meeting we decided the following changes:

  • We also remove runtime features.
  • We cannot reasonably change the generated features, so they remain as they are. The git source reference function provides a reasonable alternative for those who explicitly want to checkout the code.

Marking this issue as resolved.

istvanrath closed this Jan 22, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment