Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[papyrus-rt-dev] Other target platform dependencies [Was: OCL in the target platforms]

Our TPs are defined with .tpd files and they are modularized by component (tooling, codegen, core, profile, common, and others). The "root" TPD is "common". 

Each component has an "inclusion" chain. For example, the inclusion chain for "tooling" is as follows (where the arrow -> denotes the inclusion)

tooling -> core -> profile -> papyrus -> common

This more-or-less mimics the architecture of Papyrus-RT, except that we don't have a "papyrus" component and that, confusingly, we have a "common" component but it is not the "root", and doesn't correspond to the "common" TPD. Perhaps we should rename either the TPD or the component. (Suggestions are welcome).

Looking at these definitions, I find several things that don't seem to make a lot of sense to me, and these should be cleaned up so that dependencies are declared where they are really needed. My main concerns are the "papyrus" TPD and the "common" TPD, and in particular the fact that these declare many dependencies that are used only by some components ("tooling") and not others ("codegen").

Looking at the definition of the "common" TPD, I found that it includes several features which I'm not sure belong there. In particular it declares dependencies on the following:

location "https://hudson.eclipse.org/papyrus/job/Papyrus-Oxygen-Developer/lastSuccessfulBuild/artifact/repository/" eclipse-papyrus-developer-master {

org.eclipse.papyrus.junit.feature.feature.group lazy

}


location "http://download.eclipse.org/nebula/releases/1.2.0/" nebula-release {

org.eclipse.nebula.cwt [1.0.0,2.0.0)

}


/**

 * EMF Compare and EGit, including dependencies

 */

location "http://download.eclipse.org/modeling/emf/compare/updates/logical/emf.compare/nightly/" {

org.eclipse.emf.compare.diagram.gmf.feature.group

org.eclipse.emf.compare.diagram.papyrus.feature.group

org.eclipse.emf.compare.egit.feature.group

org.eclipse.emf.compare.feature.group

org.eclipse.emf.compare.ide.ui.feature.group

org.eclipse.emf.compare.rcp.ui.feature.group

org.eclipse.emf.compare.uml2.feature.group

}

location "http://download.eclipse.org/egit/updates/" {

org.eclipse.egit.feature.group lazy

}


I understand that the Papyrus JUnit feature is used for tooling tests. Shouldn't it be moved to the "tooling" TPD? Or should it be moved to "core" or "profile"?

The EMF Compare and EGit features are used by our "compare" feature, which is part of "tooling". Are there any objections to moving it to the "tooling" TPD?

As for the "Nebula", I'm not sure who uses it, but from its description as a provider of SWT widgets and UI components, it also looks like a "tooling" dependency, rather than a "common" dependency. Any objections to moving it there?

In any case, none of the dependencies above are used by codegen, so I would really like to move them away from the root, hopefully to "tooling".

As for the "papyrus" TPD, it declares the following:

location "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/oxygen" papyrus-releases {

org.eclipse.papyrus.sdk.feature.feature.group

// org.eclipse.papyrus.infra.gmfdiag.elk.feature.feature.group lazy

}


// Papyrus Interoperability for RSA Migration

location "http://download.eclipse.org/modeling/mdt/papyrus/interoperability/rsa/updates/oxygen/1.4.0/" interoperability {

org.eclipse.papyrus.interoperability.rsa.feature.feature.group [1.4.0,2.0.0)

}


location "http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/releases-3.3.1a" gmf-tooling {

org.eclipse.gmf.tooling

}


The first one declares the Papyrus SDK. It makes sense, as everything depends on it. (In theory we should be able to create a "standalone" codegen feature that wouldn't depend on it, but we can leave that for the future).

However, why does it declare the RSA migration and GMF tooling there? Again, shouldn't these be under "tooling"? Codegen definitely doesn't depend on these.

--
Ernesto Posse
Zeligsoft



On Fri, Jul 7, 2017 at 12:12 PM Ernesto Posse <eposse@xxxxxxxxxxxxx> wrote:
Thanks. I'll remove it then.

--
Ernesto


On Fri, Jul 7, 2017 at 12:10 PM Remi Schnekenburger <rschnekenburger@xxxxxxxxxxxxxxxxx> wrote:
Hi Ernesto,

I don't see either where there could be a usage of OCL. I think this is a sequel from old configuration, and that may probably be removed from nightly.

Cheers,
Rémi 

2017-07-07 17:53 GMT+02:00 Ernesto Posse <eposse@xxxxxxxxxxxxx>:
Hi team. I'm cleaning up the .tpd files to remove unnecessary dependencies and align the "nightly", "milestones" and "releases" variants.

While reviewing the TPs I noticed a mismatch between the "nightly" and the "releases" target platform. The nightly TP declares a dependency on OCL, but this is absent from the releases TP. Since the hudson build jobs (both the PapyrusRT-Gerrit-* and PapyrusRT-Master-* variants) are using the releases TP it looks like OCL is not being used.

Does anyone know why is this dependency there? I thought OCL would be used by the profile for validation, but that does not seem to be the case. Is there some other bundle that requires the OCL feature or can we remove it from the nightly? Or should we add it to the "releases" TP?

Thanks

--
Ernesto Posse
Zeligsoft



--
Ernesto Posse
Zeligsoft

_______________________________________________
papyrus-rt-dev mailing list
papyrus-rt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/papyrus-rt-dev




--
Remi Schnekenburger

Senior Software Architect / General Manager
EclipseSource Paris

Email: rschnekenburger@xxxxxxxxxxxxxxxxx
Web: http://eclipsesource.com/paris 
Phone: +33
1 85 41 08 65
Hangouts: rschnekenburger@xxxxxxxxxxxxxxxxx

EclipseSource France SAS
7 rue de la Croix Martre
91120 Palaiseau

General Manager: Remi Schnekenburger
Registered Office: 7 rue de la Croix Martre, 91120 Palaiseau, France
Commercial Register 824 977 516  R.C.S. EVRY
_______________________________________________
papyrus-rt-dev mailing list
papyrus-rt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/papyrus-rt-dev
--
Ernesto Posse
Zeligsoft
--
Ernesto Posse
Zeligsoft

Back to the top