Skip to content

Commit

Permalink
fix resolution of artifacts against repositories specified by pom
Browse files Browse the repository at this point in the history
  • Loading branch information
mariofusco committed Jan 25, 2013
1 parent 191dadb commit 3d23068
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 32 deletions.
Expand Up @@ -117,8 +117,9 @@ private void init() {
releaseId = pomModel.getReleaseId();

// add all the pom dependencies to this builder ... not sure this is a good idea (?)
KieRepositoryImpl repository = (KieRepositoryImpl)ks.getRepository();
for (ReleaseId dep : pomModel.getDependencies()) {
KieModule depModule = ks.getRepository().setPOMXML(pomXml).getKieModule(dep);
KieModule depModule = repository.getKieModule(dep, pomXml);
if (depModule != null) {
addDependency(depModule);
}
Expand Down
Expand Up @@ -48,7 +48,6 @@ public class KieRepositoryImpl
DEFAULT_VERSION ) );

private InternalKieScanner internalKieScanner;
private byte[] pomXml;

public void setDefaultGAV(ReleaseId releaseId) {
this.defaultGAV.set(releaseId);
Expand All @@ -63,27 +62,26 @@ public void addKieModule(KieModule kieModule) {
log.info( "KieModule was added:" + kieModule);
}

public KieRepository setPOMXML(byte[] pomXml) {
this.pomXml = pomXml;
return this;
public KieModule getKieModule(ReleaseId releaseId) {
return getKieModule(releaseId, null);
}

public KieModule getKieModule(ReleaseId releaseId) {
public KieModule getKieModule(ReleaseId releaseId, byte[] pomXml) {
VersionRange versionRange = new VersionRange(releaseId.getVersion());

KieModule kieModule = kieModuleRepo.load(releaseId, versionRange);
if ( kieModule == null ) {
log.debug( "KieModule Lookup. ReleaseId {} was not in cache, checking classpath",
releaseId.toExternalForm() );
releaseId.toExternalForm() );
kieModule = checkClasspathForKieModule(releaseId);
}

if ( kieModule == null ) {
log.debug( "KieModule Lookup. ReleaseId {} was not in cache, checking maven repository",
releaseId.toExternalForm() );
kieModule = loadKieModuleFromMavenRepo(releaseId);
releaseId.toExternalForm() );
kieModule = loadKieModuleFromMavenRepo(releaseId, pomXml);
}

return kieModule;
}

Expand All @@ -94,11 +92,10 @@ private KieModule checkClasspathForKieModule(ReleaseId releaseId) {
return null;
}

private KieModule loadKieModuleFromMavenRepo(ReleaseId releaseId) {
if(pomXml != null) {
return getInternalKieScanner().loadArtifact(releaseId, new ByteArrayInputStream( pomXml ) );
}
return getInternalKieScanner().loadArtifact(releaseId);
private KieModule loadKieModuleFromMavenRepo(ReleaseId releaseId, byte[] pomXml) {
return pomXml != null ?
getInternalKieScanner().loadArtifact(releaseId, new ByteArrayInputStream( pomXml ) ) :
getInternalKieScanner().loadArtifact(releaseId);
}

private InternalKieScanner getInternalKieScanner() {
Expand All @@ -117,23 +114,18 @@ private static class DummyKieScanner
implements
InternalKieScanner {

public void setKieContainer(KieContainer kieContainer) {
}

public KieModule loadArtifact(ReleaseId releaseId) {
return null;
}

public void start(long pollingInterval) {
}
public void start(long pollingInterval) { }

public void stop() {
}
public void stop() { }

public void scanNow() {
}
public void scanNow() { }

public void setKieContainer(KieContainer kieContainer) { }

@Override
public KieModule loadArtifact(ReleaseId releaseId, InputStream pomXML) {
return null;
}
Expand Down
Expand Up @@ -77,14 +77,13 @@ private void init() {
}

public KieModule loadArtifact(ReleaseId releaseId) {
String artifactName = releaseId.toString();
Artifact artifact = getArtifactResolver().resolveArtifact(artifactName);
return artifact != null ? buildArtifact(releaseId, artifact) : loadPomArtifact(releaseId);
return loadArtifact(releaseId, null);
}

public KieModule loadArtifact(ReleaseId releaseId, InputStream pomXML) {
String artifactName = releaseId.toString();
Artifact artifact = ArtifactResolver.getResolverFor(pomXML).resolveArtifact(artifactName);
public KieModule loadArtifact(ReleaseId releaseId, InputStream pomXml) {
String artifactName = releaseId.toString();
ArtifactResolver resolver = pomXml != null ? ArtifactResolver.getResolverFor(pomXml) : getArtifactResolver();
Artifact artifact = resolver.resolveArtifact(artifactName);
return artifact != null ? buildArtifact(releaseId, artifact) : loadPomArtifact(releaseId);
}

Expand Down

0 comments on commit 3d23068

Please sign in to comment.