Thanks very much, very helpful!! > 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.
I would love the answer to this question, if anyone has it. I'm also very curious to know how CI runs. 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 1:25 PM Ed Merks <[email protected]> wrote: > 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]> 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 [email protected] >> To change your delivery options, retrieve your password, or unsubscribe from >> this list, visithttps://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 [email protected] > To change your delivery options, retrieve your password, or unsubscribe from > this list, visithttps://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
