Ned,
Comments below.
On 04.10.2019 20:24, Ned Twigg wrote:
Thanks for the help, we're off to a good start! One of my goals is to
make sure the bug I encountered is reproduced in the test suite, and
then fixed after the code change. Otherwise it will just break again.
The problem with IDE-only is that inevitably there's a test that
somebody was running in their IDE that isn't being tested by CI.
I'm not sure that's the case. I think (assume) all the JUnit tests that
one can run from within the IDE also run in the CI build (and vice
versa). The problem is often that there are no launchers committed so
one isn't exactly sure how one should run the tests from within the IDE,
but I don't think you should need to do a command line build in order to
write and run tests. If my ability to contribute depended on first
being able to do a command line build, I would never have been able to
contribute anything...
So I wanted to first make sure that I can do the command-line build,
and my next step was to get the IDE stuff going. Here is how I
normally do that when I contribute to something:
- look in the README
- it points me to https://www.eclipse.org/swt/fixbugs.php, which
doesn't say anything about the command-line build
- a lot of the links on this page are out-of-date, which makes me
question if the instructions are accurate or not
- Tools link points to Eclipse 3.5
- Javadoc points to Eclipse Luna
- Community has CVS links to the Fox widget port
- Contact Us points to defunct mailing lists
Yes, documentation tends to get out of date. :-(
- this makes me not trust this link, so I go to the next link in the
README:
https://projects.eclipse.org/projects/eclipse.platform.swt/developer
- this link says "This project is archived. Some links on this page
may not work."
- the next link in the README is the defunct
https://dev.eclipse.org/mailman/listinfo/platform-swt-dev
- so next I go to CONTRIBUTING
- which is how I found out about this list
That helped at least. :-)
I appreciate the help on the IDE stuff - I can get it running in an
IDE. But I'm still not able to run the command-line build.
The builds are rather complicated. I'm not sure how to run a Maven
build. For EMF and for Oomph (my own projects), I have an external
launcher configuration committed into the repo that one can kick off a
maven build easily from within the IDE. This has not been done for the
platform. I think the problem is that the parent pom is often in
another Git repository, so it's never quite clear to me how one could
actually do a build locally for the platform's projects. Of course
someone will point out that it's quite easy, if one knows the right
magical (undocumented?) way to do that.
I'm sure though that you will generally need to do that in order to run
the tests that you'd want to run. You should be able to do that from
just what's built in the IDE...
In my opensource projects, I try to make the repo self-sufficient.
Yes, but that's difficult in a project as complex as the platform where
there are so many separate Git repositories involved...
External links to wikis and webpages and forums tend to go stale, so I
try to make sure that all the information that anyone needs to run the
build is right there in the repo. If someone wants to improve the
instructions, they don't need to get admin on some wiki or forum, they
can just update the repo.
That's also why I believe something like an automated setup is so
important, because no human really wants to read a lot of documentation
and then have to map that onto a long series of manual steps to
hopefully achieve the correct end result.
As an example:
https://github.com/diffplug/goomph/blob/master/CONTRIBUTING.md
So three questions:
1) Would this be a welcome contribution?
Keep in mind that are 24+ repositories that comprise the Eclipse
Platform SDK, so it's actually a lot of work to come up with something
consistent and actually useful for each one...
If I update the README and CONTRIBUTING to be self-sufficient, rather
than pointing out to external websites which are difficult for outside
contributors to keep up-to-date?
One advantage of wikis is that they can be adapted and contributed to
easily as well. But in the end, *all *documentation becomes stale with
age, and anything the committers themselves don't use will get stale
even faster.
2a) How to I build at the command line? When I do `mvn
help:describe`, I get
[FATAL] Non-resolvable parent POM for
eclipse.platform.swt:eclipse.platform.swt:4.14.0-SNAPSHOT: Could not
find artifact org.eclipse:eclipse-platform-parent:pom:4.14.0-SNAPSHOT
and 'parent.relativePath' points at wrong local POM @ line 16, column 11
@
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project
eclipse.platform.swt:eclipse.platform.swt:4.14.0-SNAPSHOT
(/Users/ntwigg/Documents/dev/eclipse.platform.swt/pom.xml) has 1 error
[ERROR] Non-resolvable parent POM for
eclipse.platform.swt:eclipse.platform.swt:4.14.0-SNAPSHOT: Could not
find artifact org.eclipse:eclipse-platform-parent:pom:4.14.0-SNAPSHOT
and 'parent.relativePath' points at wrong local POM @ line 16, column
11 -> [
Hopefully someone else will be able to answer this. This is an example,
I believe, where the parent pom comes from a different repositoriy...
2b) Where can I see what CI is doing? If I want to duplicate a CI
result on my machine, how do I go about that?
This is the central index:
https://ci.eclipse.org/
But I'm not sure which one is for SWT, and even if you found it, people
don't make a habit of making their build configuration read-public, so
you can't typically see how the builds are configured. :-(
So hopefully someone else can shed light on this theme.
Ned Twigg
Lead Software Architect, DiffPlug LLC
540-336-8043 (cell)
888-513-6870 (fax)
340 S Lemon Ave #3433, Walnut, CA 91789
ᐧ
On Fri, Oct 4, 2019 at 10:45 AM Ed Merks <[email protected]
<mailto:[email protected]>> wrote:
Ned,
If it's an issue of setting up a local development environment
that can be done automatically:
https://wiki.eclipse.org/Eclipse_Platform_SDK_Provisioning
SWT is a bit tricky, with some renaming involved to set up the
classpath in an OS-specific way, but that's handled automatically
by the setup.
The above will clone way more projects than you really need, but
you can go back after the initial automatic selection, selectively
choose which projects to actually clone; this particular setup
chooses all the Eclipse SDK projects by default. You would
actually only need the SWT project for your focused purpose, but
it's super useful to have clones of all projects of the Eclipse
SDK so that you can contribute anywhere and change anything.
Take note of the instructions about getting a Gerrit account and
changing the clone URIs to be Gerrit Read/Write URIs so that you
can commit to Gerrit when you want to contribute later.
Regards,
Ed
On 04.10.2019 18:35, Ned Twigg wrote:
Hello! I really like SWT. I like contributing to open source,
and I have a hard time contributing to SWT. I would like to help
make it easier to contribute.
I found and documented a simple bug two years ago.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=520488
Today, Niraj very generously supplied a fix, but he cannot test
it because he doesn't have a mac. I figured the least I could do
was help test it, but I cannot get the build to work. I tried to
follow the README/CONTRIBUTING, but it seems that a lot of the
info there is stale.
Is there anyone who can help get me setup? I will document the
process, and update the README / CONTRIBUTING. I also plan to
run a GitHub mirror with public CI, so that it is easier for
people like me to at least get started with contributing back to SWT.
Ned Twigg
Lead Software Architect, DiffPlug LLC
540-336-8043 (cell)
888-513-6870 (fax)
340 S Lemon Ave #3433, Walnut, CA 91789
ᐧ
_______________________________________________
platform-dev mailing list
[email protected] <mailto:[email protected]>
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://www.eclipse.org/mailman/listinfo/platform-dev
_______________________________________________
platform-dev mailing list
[email protected] <mailto:[email protected]>
To change your delivery options, retrieve your password, or
unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/platform-dev
_______________________________________________
platform-dev mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://www.eclipse.org/mailman/listinfo/platform-dev
_______________________________________________
platform-dev mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://www.eclipse.org/mailman/listinfo/platform-dev