Changeset 1931
- Timestamp:
- 2011-08-16 13:59:00 (9 months ago)
- Location:
- trunk/core/kauri-runtime/src/main/java/org/kauriproject/runtime
- Files:
-
- 1 added
- 2 edited
-
classloading/XmlClassLoaderBuilder.java (modified) (3 diffs)
-
module/build/ModuleConfigBuilder.java (modified) (3 diffs)
-
module/build/VersionManager.java (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/core/kauri-runtime/src/main/java/org/kauriproject/runtime/classloading/XmlClassLoaderBuilder.java
r1241 r1931 16 16 package org.kauriproject.runtime.classloading; 17 17 18 import org.w3c.dom.Element; 19 import org.kauriproject.util.xml.DocumentHelper; 20 import org.kauriproject.runtime.repository.ArtifactRepository; 21 import org.kauriproject.runtime.repository.ArtifactRef; 22 import org.kauriproject.runtime.repository.RepoArtifactRef; 23 import org.kauriproject.runtime.repository.FileArtifactRef; 24 import org.kauriproject.runtime.rapi.ModuleSource; 25 import org.kauriproject.runtime.KauriRuntime; 18 import java.util.ArrayList; 19 import java.util.List; 20 26 21 import org.apache.commons.logging.Log; 27 22 import org.apache.commons.logging.LogFactory; 28 29 import java.util.List; 30 import java.util.ArrayList; 23 import org.kauriproject.runtime.module.build.VersionManager; 24 import org.kauriproject.runtime.rapi.ModuleSource; 25 import org.kauriproject.runtime.repository.ArtifactRef; 26 import org.kauriproject.runtime.repository.ArtifactRepository; 27 import org.kauriproject.runtime.repository.FileArtifactRef; 28 import org.kauriproject.runtime.repository.RepoArtifactRef; 29 import org.kauriproject.util.xml.DocumentHelper; 30 import org.w3c.dom.Element; 31 31 32 32 /** … … 38 38 private ModuleSource moduleSource; 39 39 private ArtifactRepository repository; 40 private VersionManager versionManager; 40 41 41 public static ClassLoadingConfig build(Element element, ModuleSource moduleSource, ArtifactRepository repository ) throws Exception {42 return new XmlClassLoaderBuilder(element, moduleSource, repository ).build();42 public static ClassLoadingConfig build(Element element, ModuleSource moduleSource, ArtifactRepository repository, VersionManager versionManager) throws Exception { 43 return new XmlClassLoaderBuilder(element, moduleSource, repository, versionManager).build(); 43 44 } 44 45 45 private XmlClassLoaderBuilder(Element element, ModuleSource moduleSource, ArtifactRepository repository ) {46 private XmlClassLoaderBuilder(Element element, ModuleSource moduleSource, ArtifactRepository repository, VersionManager versionManager) { 46 47 this.element = element; 47 48 this.moduleSource = moduleSource; 48 49 this.repository = repository; 50 this.versionManager = versionManager; 49 51 } 50 52 … … 71 73 String artifactId = DocumentHelper.getAttribute(classPathEl, "artifactId", true); 72 74 String classifier = DocumentHelper.getAttribute(classPathEl, "classifier", false); 73 String version = DocumentHelper.getAttribute(classPathEl, "version", !groupId.equals("org.kauriproject")); 74 version = version == null ? KauriRuntime.getVersion() : version; 75 String version = DocumentHelper.getAttribute(classPathEl, "version", false); 76 String preferredVersion = versionManager.getPreferredVersion(groupId, artifactId); 77 version = version == null ? preferredVersion : version; 78 if (version == null) { 79 String message = String.format("Version for artifact %s:%s (%s) not specified, and no preference found in runtime configuration.", groupId, artifactId, classifier); 80 throw new RuntimeException(message); 81 } 82 75 83 ArtifactRef artifactRef = new RepoArtifactRef(groupId, artifactId, classifier, version); 76 84 -
trunk/core/kauri-runtime/src/main/java/org/kauriproject/runtime/module/build/ModuleConfigBuilder.java
r1332 r1931 16 16 package org.kauriproject.runtime.module.build; 17 17 18 import java.io.InputStream; 19 import java.util.Collections; 20 21 import org.apache.commons.logging.Log; 22 import org.apache.commons.logging.LogFactory; 23 import org.kauriproject.runtime.KauriRTException; 18 24 import org.kauriproject.runtime.KauriRuntime; 19 import org.kauriproject.runtime.KauriRTException; 20 import org.kauriproject.runtime.repository.FileArtifactRef; 25 import org.kauriproject.runtime.classloading.ArtifactSharingMode; 26 import org.kauriproject.runtime.classloading.ClassLoadingConfig; 27 import org.kauriproject.runtime.classloading.ClassLoadingConfigImpl; 28 import org.kauriproject.runtime.classloading.ClasspathEntry; 29 import org.kauriproject.runtime.classloading.XmlClassLoaderBuilder; 30 import org.kauriproject.runtime.model.ModuleDefinition; 21 31 import org.kauriproject.runtime.module.ModuleConfig; 22 32 import org.kauriproject.runtime.module.ModuleConfigImpl; 23 33 import org.kauriproject.runtime.rapi.ModuleSource; 24 import org.kauriproject.runtime.source.JarModuleSource; 25 import org.kauriproject.runtime.source.MavenSourceDirectoryModuleSource; 26 import org.kauriproject.runtime.source.ExpandedJarModuleSource; 27 import org.kauriproject.runtime.model.ModuleDefinition; 28 import org.kauriproject.runtime.classloading.*; 34 import org.kauriproject.runtime.repository.FileArtifactRef; 35 import org.kauriproject.util.io.IOUtils; 29 36 import org.kauriproject.util.xml.DocumentHelper; 30 import org.kauriproject.util.io.IOUtils;31 37 import org.w3c.dom.Document; 32 import org.apache.commons.logging.Log;33 import org.apache.commons.logging.LogFactory;34 35 import java.util.*;36 import java.io.InputStream;37 38 38 39 public class ModuleConfigBuilder { … … 53 54 private ModuleConfig build() { 54 55 ModuleSource moduleSource = null; 56 VersionManager versionManager = new VersionManager(runtime); 55 57 try { 56 58 moduleSource = runtime.getModuleSourceManager().getModuleSource(moduleDefinition.getFile(), moduleDefinition.getSourceType()); … … 62 64 try { 63 65 Document document = DocumentHelper.parse(is); 64 classLoadingConfig = XmlClassLoaderBuilder.build(document.getDocumentElement(), moduleSource, runtime.getArtifactRepository() );66 classLoadingConfig = XmlClassLoaderBuilder.build(document.getDocumentElement(), moduleSource, runtime.getArtifactRepository(), versionManager); 65 67 } finally { 66 68 IOUtils.closeQuietly(is);
Note: See TracChangeset
for help on using the changeset viewer.