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

Reply via email to