EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: How to update CSS version 3.x to 4.x ?
From: [email protected]
To: Florian Feldbauer <[email protected]>
Cc: Patard Charles-Henri <[email protected]>, Philippe Laurent <[email protected]>, "[email protected]" <[email protected]>
Date: Tue, 3 Nov 2015 12:37:38 +0100
Hello,

on how to use Maven there are multiple Tutorials.  Maybe start with:

https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

For Eclipse based Products you also need to get familiar with Tycho (a Maven Plug-in which
can handle Eclipse Dependencies and knows of features, plug-ins, products etc.).

http://de.slideshare.net/jsievers/tycho-tutorialecna2013

Just building a simple plug-in seems pretty easy. Building a whole product seems endlessly complex.

On how to build the CS-Studio Parts have a look at the CS-Studio book:

http://cs-studio.sourceforge.net/docbook/

Esp. Chapter 4: Compiling, Running, Debugging CSS

It describes two approaches: manual build or remote repositories. Both result in a target platform of p2 repositories.

Hope this helps.


P.S. We are currently switching from PDE Build based on CSS 3.3.9 to a Maven/Tycho Build with CSS 4.x.
What I do not understand is how to create reproducible builds (i.e. bugfix releases) with remote repositories...
Another "problem" is that a cache server like nexus cannot cache the CSS artifacts (which are on Amazon S3).

Kind Regards
Marcus



Von:        Florian Feldbauer <[email protected]>
An:        "Kasemir, Kay" <[email protected]>, Patard Charles-Henri <[email protected]>
Kopie:        Philippe Laurent <[email protected]>, "[email protected]" <[email protected]>
Datum:        03.11.2015 11:08
Betreff:        Re: How to update CSS version 3.x to 4.x ?
Gesendet von:        [email protected]




Dear Kay,

I'm also interested in this topic.
For the PANDA experiment I build a CSS Product based on version 3.1.1
during my PhD thesis.
Now we also would like to upgrade to the new version.

Unfortunately I have no idea how to use maven.
Is there some documentation on how to build the individual packages,
like diirt, maven-osgi-bundles,... ?
I looked on github but could not find anything.

Another question: With cs-studio 3.1.1 we always used the BEAUTY
ArchiveEngine.
I have not found it in the current master branch of any of the packages
you mentioned below.
Did I miss it, or was it removed?

Best regards,
Florian

On 11/02/2015 03:41 PM, Kasemir, Kay wrote:
> On Nov 2, 2015, at 2:45 AM, Patard Charles-Henri <[email protected]> wrote:
>> Hello,
>> I’m trying to update CSS from version 3 to version 4. I need to update my CSS Spiral2 products from 3.x to 4.x.
>> I created a clone from 4.1.x branch on git and import plugins into my workspace with Maven import. Some of needed plugins are missing in version 4.1 :
>> ·         org.epics.util
>> ·         org.epics.vtype
>> ·         org.csstudio.platform.libs.jms
>> Do I need to create a clone from  3.x branch and add missing plugins in my workspace ? Did plugins were replaced by others ? How can I do this update ?
> Hello Charles-Henri:
>
> Good question.
> Unfortunately, I don’t have a good answer.
> Half of the time I’m wondering myself how to build CSS.
>
> For the 3.x sources, it was pretty straight forward:
> * Get the CSS sources, either from the source repository or from a site-specific zip of a 3.x version.
> * Start appropriate version of Eclipse RCP IDE, “Import existing project into workspace”
> * Open one of the *.product files to launch, debug, export
>
> As we moved to 4.x, two things changed:
>
> We decided to remove 3rd party binaries like the jar files for JMS, JDBC, JCA/CAJ from the primary cs-studio repository. The org.csstudio.platform.libs.jms plugin for example is now in a cs-studio-thirdparty repo.
> And we use maven for the headless build.
>
> In combination, several pieces of 3rd party code were completely removed from our repositories and we instead depend on maven to download them from somewhere. The jython or org.epics.util plugins for example are only listed in
https://github.com/ControlSystemStudio/maven-osgi-bundles/blob/4.1.x/repository/pom.xml so that maven downloads them for us.
> The complete build process became this:
> * Get the sources for maven-osgi-bundles, cs-studio-thirdparty, cs-studio and for example org.csstudio.product
> * Build everything with maven on the command line. Maven fetches the missing pieces.
> You could then use the resulting product binaries as a “target” for the Eclipse IDE, import the sources, continue as before.
>
> The part where maven fetches the missing pieces has not been without problems. Even when it all “works”, my time for a complete rebuild went from 20 to 60 minutes. Since build errors tend to happen in the later stages, I’m easily loosing days every month working through build problems.
>
> As for org.epics.util & org.epics.vtype, they have just been renamed to org.diirt.*, and their code is in
https://github.com/ControlSystemStudio/diirt, so the build process is right now:
> * Get the sources for diirt, maven-osgi-bundles, cs-studio-thirdparty, cs-studio and for example org.csstudio.product
> * Build everything with maven on the command line.
> .. and there are some configuration details of diirt that require the addition of certain xml files to your product, since it’s no longer tied to the Eclipse preferences. The org.csstudio.product should include an example.
>
> At the recent EPICS/ICALEPCS, the present CS-Studio developers agreed that it’d be good to have a better handle on the 3rd party libraries (
https://github.com/ControlSystemStudio/cs-studio/issues/1417 )
> For example, offering a zipped cs-studio-target would allow you to do this:
>
> * Get the current cs-studio-target.zip, unpack
> * Get the CSS sources, either from the source repository or from a site-specific zip of a 3.x version.
> * Start appropriate version of Eclipse RCP IDE, set the RCP target to the cs-studio-target, “Import existing project into workspace” to load the sources
> * Open one of the *.product files to launch, debug, export
>
> This would remove the sometimes unpredictable or fragile and always slow dependency on maven to locate and successfully download the correct dependencies. Everybody who uses the same cs-studio-target.zip will get the same results.
>
> Meanwhile, if you’re updating from 3.x it might be best to skip 4.1 (with org.epics.*) and instead start with the current master (with org.diirt.*), except that I’m still trying to create functional SNS products from that myself.
>
> Thanks,
> Kay
>
>


--
----------------------------------------
| Dr. Florian Feldbauer                |
|                                      |
| Helmholtz-Institut Mainz /           |
| Johannes Gutenberg-Universität Mainz |
| Johann-Joachim-Becher-Weg 36         |
| D-55128 Mainz                        |
|                                      |
| Office: SB1 / 00-213                 |
| Phone:  (+49)6131 / 39-29608         |
----------------------------------------



References:
How to update CSS version 3.x to 4.x ? Patard Charles-Henri
Re: How to update CSS version 3.x to 4.x ? Kasemir, Kay
Re: How to update CSS version 3.x to 4.x ? Florian Feldbauer

Navigate by Date:
Prev: Re: How to update CSS version 3.x to 4.x ? Florian Feldbauer
Next: Re: How to update CSS version 3.x to 4.x ? Kasemir, Kay
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: How to update CSS version 3.x to 4.x ? Florian Feldbauer
Next: Re: How to update CSS version 3.x to 4.x ? Kasemir, Kay
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·