Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-dev] I would like to help with SWT contributions
  • From: Paul Pazderski <paul-eclipse@xxxxxxxxxxxxx>
  • Date: Fri, 4 Oct 2019 22:53:39 +0200
  • Autocrypt: addr=paul-eclipse@xxxxxxxxxxxxx; keydata= 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 BRimiekg4UlF2S0X
  • Delivered-to: platform-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/platform-dev>
  • List-help: <mailto:platform-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/platform-dev>, <mailto:platform-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/platform-dev>, <mailto:platform-dev-request@eclipse.org?subject=unsubscribe>
  • Openpgp: preference=signencrypt
  • User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1

And if it was not clear yet. There is no immediate need to build SWT
natives to work on SWT. Most parts are written in Java and you get the
native part from the SWT binaries repository. And to work on SWT Java
part Oomph setup will do all you need.

Regards,
Paul

Am 04.10.2019 um 22:47 schrieb Paul Pazderski:
> I have not build SWT on Mac, only Windows and Linux. What you can try is
> to get SWT projects build in Eclipse (best using Oomph as Ed described).
> Once build in Eclipse there should be a library folder in
> eclipse.platform.swt/bundles/org.eclipse.swt/bin with a script to build
> the native parts. As I said, never did it on Mac but that could work
> from my experience.
> 
> For CI:
> Maybe the following two links are interesting for you.
> Jobs building natives:
> https://ci.eclipse.org/releng/view/SWT%20Natives/
> Job building contributions to SWT:
> https://ci.eclipse.org/platform/view/Gerrit/job/eclipse.platform.swt-Gerrit/
> 
> For building on command line:
> usually it is enough to run
>   mvn verify -P build-individual-bundles
> in repository root (less sure for SWT)
> 
> Note that both, maven 3.6.1 and 3.6.2 have breaking bugs for building
> Eclipse stuff.
> 
> https://issues.apache.org/jira/browse/MNG-6642
> https://issues.apache.org/jira/browse/MNG-6765
> 
> Regards,
> Paul
> 
> 
> Am 04.10.2019 um 22:43 schrieb Ned Twigg:
>> 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 <ed.merks@xxxxxxxxx
>> <mailto:ed.merks@xxxxxxxxx>> 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 <ed.merks@xxxxxxxxx
>>>     <mailto:ed.merks@xxxxxxxxx>> 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
>>>>         platform-dev@xxxxxxxxxxx <mailto:platform-dev@xxxxxxxxxxx>
>>>>         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
>>>         platform-dev@xxxxxxxxxxx <mailto:platform-dev@xxxxxxxxxxx>
>>>         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
>>>     platform-dev@xxxxxxxxxxx <mailto:platform-dev@xxxxxxxxxxx>
>>>     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
>>     platform-dev@xxxxxxxxxxx <mailto:platform-dev@xxxxxxxxxxx>
>>     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
>> platform-dev@xxxxxxxxxxx
>> 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
> platform-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/platform-dev
> 

Attachment: signature.asc
Description: OpenPGP digital signature


Back to the top