Well during the SVN times I had setup multiple Job: Saros, Whiteboard and Nebula so the CI could track what changes were applied to which project (this was back in 2011).

During the migration to GIT this *feature* vanished due to the fact how the projects were setup.

If you look at: http://saros-build.imp.fu-berlin.de/jenkins/job/Saros_Whiteboard/changes you will notice that you will see mostly non Whiteboard changes or better just every change applied
to the whole GIT repository.

The current problem for now is the no longer unique structure of the CI jobs.

Regardless of the cons and pros on how the jobs are setup the structure should be unique.

While you could argue that the Whiteboard is an optional plugin so the UI plugin is also currently an optional plugin, e.g only if the UI bundle is present the HTML UI will be used otherwise native SWT.

I know that the whole CI configuration is VERY cumbersome but excluding the UI bundle from being recognized as build artifact which can be done in the advanced settings is not the best solution either.

BR,
Stefan

On 02.02.2015 19:31, Zieris, Franz wrote:

Hi Christian, Hi Stefan,

if I understand this correctly, Stefan argued against building the UI project inside the “Saros” job.

Christian just re-added the UI project building to the job config – which Stefan removed a few hours before.

At least a Jenkins plugin takes care of versioning the different job configurations, but an edit war is still nothing desirable.

So let’s clear this up a little.

·Traditionally, the “Saros” job built the Eclipse plugin named “Saros”. After the code splitting began, this job needed to build the Core project and the Saros/E specific parts. So by now, a better name for this Job would be something like “Saros/E”.

·Since we want to have an IDE-agnostic UI, Christian and Matthias started the UI project (the sources of which could also be part of the Saros core, but having a separate project makes it arguably harder to accidentally mix business logic and UI).

·I understand that for building Saros/E, there are essentially three projects that need to be built: “dpp.core” and “dpp.ui” for the IDE-independent part, “dpp” for the Eclipse-specifics.

So where exactly is the disagreement?

@Stefan: Do you disagree with the three bullet points above? Or do you disagree with the **way** these three projects are put together in our CI?

I hope it goes without saying that neither of you should alter the job configurations until we have a common understanding of what the Jenkins jobs should do.

Only then we can decide on the way how to let these jobs do that.

Best,

Franz

*From:*Stefan Rossbach [mailto:srossb...@arcor.de]
*Sent:* Monday, February 02, 2015 6:25 PM
*To:* Christian Cikryt
*Cc:* dpp-devel@lists.sourceforge.net
*Subject:* Re: [DPP-Devel] Build failed in Jenkins: Saros #1360

On 02.02.2015 18:01, Christian Cikryt wrote:

    2015-02-02 16:31 GMT+01:00 Stefan Rossbach <srossb...@arcor.de
    <mailto:srossb...@arcor.de>>:

        So the following happened:

        I amended Christians UI patch for making the UI plugin an OSGi
        module.

        http://saros-build.imp.fu-berlin.de/gerrit/#/c/2069/

        As you can see in his original patch he already changed the
        build.xml file using Ant4Eclipse.

        I looked at the Jenkins Gerrit Job and it was already
        correctly configured. The build passed and so I submitted the
        patch.


        I did not see any dedicated UI job and so I thought that this
        will be added later after the OSGi stuff is added.

        The problem is that the IntelliJ and Saros Job already build
        this UI plugin. I do not not really understand why this has to
        be done twice.

    The reason is that the master job is splitted into E and I job and
    the IntelliJ job cannot use the needed libs inside the jar
    artifacts (unless they would be extracted).

    So rebuilding is the easiest solution because this way the same
    IntelliJ Ant script can be used for both Gerrit and master.

I see two options here.

Copy the artifacts first from the other builds (yes I know using Maven would be much better for maintaining an artifact repo) and prepare the workspace before calling ANT4J. Amend the build.xml file in the IntelliJ project as needed. And I really do not understand why you have not done this as the build file already builds Saros/C and Saros/I.


        Neverless the configuration of these jobs are / were
        configured to actually call the old build.xml with the needed
        parameters.


        I already deleted the UI plugin stuff from the Saros build but
        I am not going to touch the IntelliJ one.

        And BTW it is really a bad idea to build something else in the
        Saros Build job because the STF regression jobs simply take
        all produced artifacts from the last build (Saros/C and
        Saros/E) and deploy them to the Eclipse installations of our
        both test machines
        before running the regression.

    As Saros/E will have a dependency to the ui-module, I will have
    add the UI-plugin stuff again (configured accordingly). BTW the
    resulting UI.jar does not need to be an artifact of that job.

If I remember correctly you do not even need to modify the Saros/E job as long as the dpp.*.ui folder is present during the checkout as AntJ4 will use this folder when resolving the bundles. I do not see any problem for building the UI project in a dedicated job. We did this with Saros Nebula already.

        And as for the new patch set. It is the same as Christians. I
        just removed the UI dependency in Saros/E for now and added
        some Eclipse Autoformat stuff and so
        regardless of the changes the same build errors would have
        occurred unless someone had changed the Jenkins Jobs
        accordingly before committing this patch.

    Guess what would have happened if you had notified me that you are
    planning to bypass the review process :)

    It is frustrating that you submit your patchsets without giving
    anyone the chance to comment even if it is an amendment to one my
    commits.

    And please stop going around blaming or insulting people.

    BTW you are invited to ask questions if you don't know why we did
    something or what we are planning to do as you are not able to
    attend our team meetings in person. I am happy to answer those
    questions.

    Regards,

    Christian


------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
DPP-Devel mailing list
DPP-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dpp-devel

Reply via email to