]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.repo/src/main/resources/org/argeo/slc/repo/repo.cnd
+ clean repo model
[gpl/argeo-slc.git] / runtime / org.argeo.slc.repo / src / main / resources / org / argeo / slc / repo / repo.cnd
index ca2cf1cbe7c7063295284be24c06990b82f6c554..271e85eee85d43ee4310b394942843121ee392b7 100644 (file)
@@ -1,15 +1,64 @@
 <slc = 'http://www.argeo.org/ns/slc'>
 
 // AETHER
-[slc:artifact] > nt:base, mix:shareable
+[slc:artifact] > mix:referenceable, mix:created, mix:lastModified
 mixin
-- slc:artifactId (STRING) primary m
+- slc:artifactId (STRING) m
 - slc:groupId (STRING) m
 - slc:artifactVersion (STRING) m
 - slc:artifactExtension (STRING) m
 - slc:artifactClassifier (STRING) ='' m a
 
-[slc:jarFile] > nt:base
+[slc:artifactVersion] > mix:referenceable, mix:created, mix:lastModified, mix:title
+mixin
+- slc:artifactId (STRING) m
+- slc:groupId (STRING) m
+- slc:artifactVersion (STRING) m
+
+[slc:artifactBase] > mix:referenceable, mix:created, mix:lastModified
+mixin
+- slc:artifactId (STRING) m
+- slc:groupId (STRING) m
+
+[slc:groupBase] > mix:referenceable, mix:created, mix:lastModified
+mixin
+// it is possible to have groupBase being artifact base (e.g. org.argeo.commons.basic)
+// so using groupId would conflict 
+- slc:groupBaseId (STRING) m
+
+// Mark a given group base as relevant to create modular distribution in the current workspace  
+// [slc:category]
+// mixin
+
+[slc:distribution] > slc:artifactVersion
+mixin
++ slc:artifactVersions (argeo:references) m
+
+
+[slc:modularDistributionBase]
+mixin
+
+// Question: Extend slc:categorizedNameVersion ? (not possible without migration)
+[slc:modularDistribution] 
+mixin
++ slc:modules (nt:unstructured) m
+
+[slc:moduleCoordinates] > nt:unstructured
+- slc:category (STRING)
+- slc:name (STRING)
+- slc:version (STRING)
+
+
+// ORIGINS
+[slc:knownOrigin] > nt:base
+mixin
++ slc:origin (nt:address)
+
+[slc:proxied] > nt:address
+- slc:proxy (REFERENCE)
+
+// JAVA
+[slc:jarFile] > mix:referenceable
 mixin
 - 'slc:manifest' (BINARY) m
 - 'slc:Manifest-Version' (STRING)
@@ -29,10 +78,10 @@ mixin
 // OSGi
 // see http://www.osgi.org/Specifications/Reference
 
-[slc:javaPackage] > nt:base
+[slc:javaPackage] > mix:referenceable
 - slc:name (STRING) primary m
 
-[slc:osgiBaseVersion] > nt:base
+[slc:osgiBaseVersion] > mix:referenceable
 - slc:asString (STRING) primary m
 - slc:major (LONG) m
 - slc:minor (LONG) m
@@ -53,22 +102,22 @@ mixin
 - slc:version (STRING) ='0.0.0' m a
 - slc:optional (BOOLEAN) ='false' m a
 
-[slc:requiredBundle] > nt:base
+[slc:requiredBundle] > mix:referenceable
 - 'slc:symbolic-name' (STRING) primary m
 - 'slc:bundle-version' (STRING) ='0.0.0' m a
 - slc:optional (BOOLEAN) ='false' m a
 
-[slc:fragmentHost] > nt:base
+[slc:fragmentHost] > mix:referenceable
 - 'slc:symbolic-name' (STRING) m
 - 'slc:bundle-version' (STRING) ='0.0.0' m a
 
-[slc:bundleNativeCode] > nt:base
+[slc:bundleNativeCode] > mix:referenceable
 - slc:path (STRING) primary m
 - slc:osname (STRING)
 - slc:processor (STRING)
 
 // see http://www.osgi.org/Specifications/ReferenceHeaders
-[slc:bundle] > nt:base
+[slc:bundle] > mix:referenceable
 mixin
 - 'slc:symbolic-name' (STRING) primary m
 - 'slc:bundle-version' (STRING) m
@@ -100,3 +149,12 @@ mixin
 [slc:bundleArtifact] > slc:artifact,slc:jarFile,slc:bundle
 mixin
 
+// RPM
+[slc:rpm] > mix:referenceable, mix:created, mix:lastModified, mix:title
+mixin
+- slc:name (STRING)
+- slc:version (STRING)
+- slc:rpmVersion (STRING)
+- slc:rpmRelease (STRING)
+- slc:rpmArch (STRING)
+- slc:rpmArchivaeSize (STRING)