From 87fef8ad23f6c4932e2c9a819a3d8121b9e7325e Mon Sep 17 00:00:00 2001 From: Brett Porter Date: Sat, 26 Aug 2006 11:25:57 +0000 Subject: [PATCH] [MRM-145] index skins git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@437144 13f79535-47bb-0310-9956-ffa450edef68 --- .../StandardArtifactIndexRecordFactory.java | 14 ++++++++ ...MinimalArtifactIndexRecordFactoryTest.java | 6 ++++ ...tandardArtifactIndexRecordFactoryTest.java | 34 ++++++++++++++++++ .../record/test-skin/1.0/test-skin-1.0.jar | Bin 0 -> 3475 bytes .../record/test-skin/1.0/test-skin-1.0.pom | 8 +++++ 5 files changed, 62 insertions(+) create mode 100644 archiva-indexer/src/test/managed-repository/org/apache/maven/archiva/record/test-skin/1.0/test-skin-1.0.jar create mode 100644 archiva-indexer/src/test/managed-repository/org/apache/maven/archiva/record/test-skin/1.0/test-skin-1.0.pom diff --git a/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactory.java b/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactory.java index d97a1d6cf..d4f67b3e4 100644 --- a/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactory.java +++ b/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactory.java @@ -81,6 +81,10 @@ public class StandardArtifactIndexRecordFactory */ protected Digester md5Digester; + private static final String SITE_TEMPLATE_NAME = "META-INF/maven/site.vm"; + + private static final String SITE_CSS_NAME = "css/maven-theme.css"; + private static final String PLUGIN_METADATA_NAME = "META-INF/maven/plugin.xml"; private static final String ARCHETYPE_METADATA_NAME = "META-INF/maven/archetype.xml"; @@ -236,6 +240,10 @@ public class StandardArtifactIndexRecordFactory { populateArchetypeEntries( record ); } + else if ( SITE_TEMPLATE_NAME.equals( name ) || SITE_CSS_NAME.equals( name ) ) + { + populateSkinEntries( record ); + } } } @@ -255,6 +263,12 @@ public class StandardArtifactIndexRecordFactory record.setType( "maven-archetype" ); } + private void populateSkinEntries( StandardArtifactIndexRecord record ) + { + // Typically discovered as a JAR + record.setType( "maven-skin" ); + } + private Xpp3Dom readXmlMetadataFileInJar( File file, String name ) throws RepositoryIndexException { diff --git a/archiva-indexer/src/test/java/org/apache/maven/archiva/indexer/record/MinimalArtifactIndexRecordFactoryTest.java b/archiva-indexer/src/test/java/org/apache/maven/archiva/indexer/record/MinimalArtifactIndexRecordFactoryTest.java index a2aeba0b3..f40700f11 100644 --- a/archiva-indexer/src/test/java/org/apache/maven/archiva/indexer/record/MinimalArtifactIndexRecordFactoryTest.java +++ b/archiva-indexer/src/test/java/org/apache/maven/archiva/indexer/record/MinimalArtifactIndexRecordFactoryTest.java @@ -168,6 +168,12 @@ public class MinimalArtifactIndexRecordFactoryTest record = factory.createRecord( artifact ); assertNull( "Check no record", record ); + + artifact = createArtifact( "test-skin", "1.0", "pom" ); + + record = factory.createRecord( artifact ); + + assertNull( "Check no record", record ); } public void testIndexedPlugin() diff --git a/archiva-indexer/src/test/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactoryTest.java b/archiva-indexer/src/test/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactoryTest.java index 42ea5756a..3a425ca61 100644 --- a/archiva-indexer/src/test/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactoryTest.java +++ b/archiva-indexer/src/test/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactoryTest.java @@ -254,6 +254,12 @@ public class StandardArtifactIndexRecordFactoryTest record = factory.createRecord( artifact ); assertNull( "Check no record", record ); + + artifact = createArtifact( "test-skin", "1.0", "pom" ); + + record = factory.createRecord( artifact ); + + assertNull( "Check no record", record ); } public void testIndexedPlugin() @@ -316,6 +322,34 @@ public class StandardArtifactIndexRecordFactoryTest assertEquals( "check record", expectedRecord, record ); } + public void testIndexedSkin() + throws RepositoryIndexException, IOException, XmlPullParserException + { + Artifact artifact = createArtifact( "test-skin" ); + + RepositoryIndexRecord record = factory.createRecord( artifact ); + + StandardArtifactIndexRecord expectedRecord = new StandardArtifactIndexRecord(); + expectedRecord.setMd5Checksum( "ba2d8a722f763db2950ad63119585f45" ); + expectedRecord.setFilename( repository.pathOf( artifact ) ); + expectedRecord.setLastModified( artifact.getFile().lastModified() ); + expectedRecord.setSize( artifact.getFile().length() ); + expectedRecord.setArtifactId( "test-skin" ); + expectedRecord.setGroupId( TEST_GROUP_ID ); + expectedRecord.setBaseVersion( "1.0" ); + expectedRecord.setVersion( "1.0" ); + expectedRecord.setSha1Checksum( "44855e3e56c18ce766db315a2d4c114d7a8c8ab0" ); + expectedRecord.setType( "maven-skin" ); + expectedRecord.setRepository( "test" ); + expectedRecord.setFiles( Arrays.asList( new String[]{"META-INF/MANIFEST.MF", "css/maven-theme.css", + "META-INF/maven/org.apache.maven.skins/test-skin/pom.xml", + "META-INF/maven/org.apache.maven.skins/test-skin/pom.properties"} ) ); + expectedRecord.setPackaging( "jar" ); + expectedRecord.setProjectName( "Skin - test-skin" ); + + assertEquals( "check record", expectedRecord, record ); + } + public void testCorruptJar() throws RepositoryIndexException { diff --git a/archiva-indexer/src/test/managed-repository/org/apache/maven/archiva/record/test-skin/1.0/test-skin-1.0.jar b/archiva-indexer/src/test/managed-repository/org/apache/maven/archiva/record/test-skin/1.0/test-skin-1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..99bd1e78b9cc1ec2c08c0172aff92862fd25f269 GIT binary patch literal 3475 zcmbVO2{hDg7aue#WstE;2xA#ztSR)`-(lJTbI#n~?>_fA_xasxf@Ijk1X#DeEMCQp#gEs1 z+SgDAr6H|nq$^|c!)+g+m*%!)P4!8q{k=kaz(2bgY8dJ1>YPHs40X>&*D{5wvl3|8}q*}&ddHs>V~3ktR+t1h!Wc!@%PY+ z6}4<{eX6+=7-dcdld2eWOkPhVUMse&pu3gB26gHWCJ6rW{z&`-y(;9iof2Rp zC0Z8SwuiQI@bcRB*i8EJELK4u2mqL}0RZejJlxRU7yi>j^ zfAmoDGrscJNuxqvS39Ldo5;CV{+Uv+g~a~3AzfWDNJQP<#OpEKVpqfevY;jbQO>;d z?j}ITf^l!c9K@Vg(eAzBa2$v7MeEFhcusqWJmMATib9M_1h;|K3uWL}*0wGHJL@YE zO60X*%@%U$<1v$5$XquXF~kanWW|hHcY*iVCwJDj_9WnC1t$DvZq+#$Kk_9b&!|<~ zo~x?quRN08YxI#cjB+(un2nT(>>HxfYtIQ@`dbQe903%u053)s+fGFAh>Z$4$EzP; zmvaMCycjEyey%nYZo-&wnTMMzlMF7_li zE!+Qe>Njg9Q03DJ`P17SB&lhsNiuvN_BPw5? z#j7cNwX4r{piidp`{FZcm)~FRyyLh_a zp(5B|-g4N_foM0sP#*im3_9#OtRUByDIpvUHk6QUazyKTA33~I<(Z3d+c&)koVBiW zNpX{JP7coaWVQV?4B_Hrk|R6$1jTvF{DB6C$> zwpZCX7ZLZG^42$j(}@x)3*SVKBU5-5h&M~SrY|`uOya3)t<4%+tQhubSD)E=h3?|9OXIFmlUGrw`zQ%+(47)~eL7abZe za59c;pKQZE*WFwCs$4pY_VAR!A`E9ZmuSnR1Vnjg*@kgwC4WuN*yuws zzrlX0yI?a3@0`n0762clqaGiv#VXGsG1uTV?itBiZ!D%3)4#tYgc~PkR5)g*NnO|r zs#zH3y3KV@@lJsNbwFZLv}F168aeVy580MJ`XQ-x0y_{v5rY>&DA|G2^A8G&Yi7vx z<2o(HGC58UlwvznodjT%Mr8Sy&WE{pk1n2h$<*YQr1NLq%~QlxytKN4w))NPw!}h{ z-tD%up}*TYz1vxAw=>q$35Ld@9h@<+4K&Ql)x~{B>vwa&|8EXF#tSdKPPe_I&CU^g z{~hP-W5N*$D>^QaMtm97GRu9=u<{N8sU9hq&}heTup- zh!oHREzGt*Ct_68le{aa0jXX`Vk2h*dsS6JIt(HP>Q9`LmSaT`4Nzq_UWT_evD|n{ ze@tH>Bx&?4am0%FEa=L$(SYhkOYSIqOSV~&TlMX$D03rTO_rG6@jb%5elwr_7x8iNNBr4b<>CWQg-Wu z%#H(T)Ig!|uw*Nk{Y1vi!6*DePcImDCOMr~(l)narD(f8?#kTH*fCUKFwG(R{fPmc zmWFc$$n)MLhr3XIg0sN|OUFnT_It9g1V3ghG)G!Js!B~gGFda(9MVvc`d&Wfxs9W< zZ|k0sp|^>V)yN>>y;`^nzSjNzg0TlZI|$|6~KB#?Hr0Kk6QFPGLJ I+BeGfzkc{oH~;_u literal 0 HcmV?d00001 diff --git a/archiva-indexer/src/test/managed-repository/org/apache/maven/archiva/record/test-skin/1.0/test-skin-1.0.pom b/archiva-indexer/src/test/managed-repository/org/apache/maven/archiva/record/test-skin/1.0/test-skin-1.0.pom new file mode 100644 index 000000000..2055446f6 --- /dev/null +++ b/archiva-indexer/src/test/managed-repository/org/apache/maven/archiva/record/test-skin/1.0/test-skin-1.0.pom @@ -0,0 +1,8 @@ + + 4.0.0 + org.apache.maven.archiva.record + test-skin + 1.0 + Skin - test-skin + -- 2.39.5