<dependency>
<groupId>org.codehaus.plexus.registry</groupId>
<artifactId>plexus-registry-api</artifactId>
- <version>1.0-alpha-2</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus.registry</groupId>
<artifactId>plexus-registry-commons</artifactId>
- <version>1.0-alpha-2</version>
<scope>test</scope>
</dependency>
<!-- Test Deps -->
<plugin>
<groupId>org.codehaus.modello</groupId>
<artifactId>modello-maven-plugin</artifactId>
- <version>1.0-alpha-15-SNAPSHOT</version>
+ <version>1.0-alpha-15</version>
<executions>
<execution>
<goals>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-digest</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<dependency>
<groupId>org.codehaus.plexus.cache</groupId>
<artifactId>plexus-cache-api</artifactId>
- <version>1.0-alpha-2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.codehaus.plexus.cache</groupId>
<artifactId>plexus-cache-ehcache</artifactId>
- <version>1.0-alpha-2</version>
<scope>compile</scope>
</dependency>
<dependency>
* Download the 1.0.1B jta zip from: {{http://java.sun.com/products/jta/}}
- * Install it: mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta Dversion=1.0.1B -Dpackaging=jar -Dfile=jta-1_0_1B-classes.zip
+ * Install it: mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar -Dfile=jta-1_0_1B-classes.zip
Otherwise:
instead, or see {{{http://issues.apache.org/bugzilla/show_bug.cgi?id=40668}
Bug 40668}} for a workaround.
- * Copy archiva/archiva-webapp/target/archiva-webapp-1.0-SNAPSHOT/WEB-INF/lib/derby-10.1.3.1.jar into the tomcat common/lib
+ * Copy $HOME/.m2/org/apache/derby/derby/10.1.3.1/derby-10.1.3.1.jar (or from the remote repository) into the tomcat common/lib
* To deal with a current bug, you'll also need to add the following to your ${catalina.home}/conf/web.xml in the relevant section (search for jspx):
</executions>
<configuration>
<descriptor>src/main/assembly/bin.xml</descriptor>
- <finalName>archiva</finalName>
+ <finalName>archiva-${version}</finalName>
</configuration>
</plugin>
<plugin>
<version>1.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
+
+ <!-- Dependencies below are provided by the appserver -->
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>10.1.3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.activation</groupId>
+ <artifactId>activation</artifactId>
+ <version>1.1</version>
+ </dependency>
</dependencies>
<build>
<outputDirectory>${project.build.directory}/${container.name}conf/webapps/archiva</outputDirectory>
</configuration>
</execution>
+ <execution>
+ <id>prepare-provided-dependencies</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>copy-dependencies</goal>
+ </goals>
+ <configuration>
+ <overWriteReleases>false</overWriteReleases>
+ <overWriteSnapshots>true</overWriteSnapshots>
+ <excludeTransitive>false</excludeTransitive>
+ <outputDirectory>${project.build.directory}/providedDependencies</outputDirectory>
+ </configuration>
+ </execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
+ <execution>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <tasks>
+ <copy todir="${project.build.directory}/appserver-base">
+ <fileset dir="src/test/resources/appserver-base" />
+ </copy>
+ <copy todir="${project.build.directory}/repository">
+ <fileset dir="src/test/resources/repository" />
+ </copy>
+ <copy todir="${project.build.directory}/index">
+ <fileset dir="src/test/resources/index" />
+ </copy>
+ </tasks>
+ </configuration>
+ </execution>
<execution>
<id>copy-container-conf</id>
<phase>package</phase>
</copy>
<copy
todir="${project.build.directory}/installs/${container.name}/apache-tomcat-5.5.20/apache-tomcat-5.5.20/common/lib">
- <fileset dir="${project.build.directory}/${container.name}conf/webapps/archiva/WEB-INF/lib">
- <include name="**/derby-*.jar"/>
+ <fileset dir="${project.build.directory}/providedDependencies">
+ <include name="**/*.jar"/>
</fileset>
</copy>
</tasks>
<output>${project.build.directory}/logs/${container.name}.out</output>
<timeout>600000</timeout>
<systemProperties>
- <appserver.base>${project.build.directory}</appserver.base>
+ <appserver.base>${project.build.directory}/appserver-base</appserver.base>
</systemProperties>
</container>
<configuration>
if ( getTitle().equals( getTitlePrefix() + "Configuration" ) )
{
//Add Managed Repository
- setFieldValue( "id", "web-ui" );
- setFieldValue( "urlName", "web-ui" );
+ setFieldValue( "id", "test-repository" );
+ setFieldValue( "urlName", "test-repository" );
setFieldValue( "name", "Web UI Test Managed Repository" );
- setFieldValue( "directory", getBasedir() + "target/web-ui-dir" );
+ setFieldValue( "directory", getBasedir() + "/target/repository" );
clickButtonWithValue( "Add Repository" );
//Set Index location
assertPage( "Configuration" );
- setFieldValue( "indexPath", getBasedir() + "target/web-ui-index" );
+ setFieldValue( "indexPath", getBasedir() + "/target/index" );
clickButtonWithValue( "Save Configuration" );
assertPage( "Administration" );
}
public void assertHeader()
{
- assertTrue( "banner is missing" , getSelenium().isElementPresent( "xpath=//div[@id='banner']" ) );
- assertTrue( "bannerLeft is missing" , getSelenium().isElementPresent( "xpath=//div[@id='banner']" +
- "/span[@id='bannerLeft']" ) );
- assertTrue( "bannerLeft link is missing" , getSelenium().isElementPresent( "xpath=//div[@id='banner']" +
- "/span[@id='bannerLeft']/a[@href='http://maven.apache.org/archiva/']" ) );
- assertTrue( "bannerLeft img is missing" , getSelenium().isElementPresent( "xpath=//div[@id='banner']" +
- "/span[@id='bannerLeft']/a[@href='http://maven.apache.org/archiva/']" +
- "/img[@src='" + getWebContext() + "/images/archiva.png']" ) );
+ assertTrue( "banner is missing", getSelenium().isElementPresent( "xpath=//div[@id='banner']" ) );
+ assertTrue( "bannerLeft is missing",
+ getSelenium().isElementPresent( "xpath=//div[@id='banner']" + "/span[@id='bannerLeft']" ) );
+ assertTrue( "bannerLeft link is missing", getSelenium().isElementPresent(
+ "xpath=//div[@id='banner']" + "/span[@id='bannerLeft']/a[@href='http://maven.apache.org/archiva/']" ) );
+ assertTrue( "bannerLeft img is missing", getSelenium().isElementPresent( "xpath=//div[@id='banner']" +
+ "/span[@id='bannerLeft']/a[@href='http://maven.apache.org/archiva/']" + "/img[@src='" + getWebContext() +
+ "/images/archiva.png']" ) );
- assertTrue( "bannerRight is missing", getSelenium().isElementPresent( "xpath=//div[@id='banner']/span[@id='bannerRight']" ) );
+ assertTrue( "bannerRight is missing",
+ getSelenium().isElementPresent( "xpath=//div[@id='banner']/span[@id='bannerRight']" ) );
}
protected String getTitlePrefix()
--- /dev/null
+package org.apache.maven.archiva.web.test;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Archiva's webapp UI test for browsing the indexed repository.
+ *
+ * @author <a href="mailto:nramirez@exist.com">Napoleon Esmundo C. Ramirez</a>
+ */
+public class BrowseRepositoryTest
+ extends AbstractArchivaTestCase
+{
+ private void browseArtifact()
+ {
+ clickLinkWithText( "Browse" );
+ assertPage( "Browse Repository" );
+ assertTextPresent( "Browse Repository" );
+ assertLinkPresent( "org.apache.maven.archiva.web.test/" );
+
+ clickLinkWithText( "org.apache.maven.archiva.web.test/" );
+ assertPage( "Browse Repository" );
+ assertTextPresent( "Browse Repository" );
+ assertTextPresent( "Artifacts" );
+ assertLinkPresent( "artifact-a/" );
+
+ clickLinkWithText( "artifact-a/" );
+ assertPage( "Browse Repository" );
+ assertTextPresent( "Browse Repository" );
+ assertTextPresent( "Versions" );
+ assertLinkPresent( "1.0/" );
+
+ clickLinkWithText( "1.0/" );
+ assertPage( "Browse Repository" );
+ assertTextPresent( "artifact-a" );
+ assertLinkPresent( "Main" );
+ }
+
+ public void testBrowseArtifactInfo()
+ {
+ browseArtifact();
+
+ assertTextPresent( "Info" );
+ assertLinkPresent( "Dependencies" );
+ assertLinkPresent( "Dependency Tree" );
+ assertLinkPresent( "Used By" );
+ assertLinkPresent( "Mailing Lists" );
+
+ assertEquals("Group ID", getSelenium().getTable("//table[1].0.0"));
+ assertEquals("org.apache.maven.archiva.web.test", getSelenium().getTable("//table[1].0.1"));
+ assertEquals("Artifact ID", getSelenium().getTable("//table[1].1.0"));
+ assertEquals("artifact-a", getSelenium().getTable("//table[1].1.1"));
+ assertEquals("Version", getSelenium().getTable("//table[1].2.0"));
+ assertEquals("1.0", getSelenium().getTable("//table[1].2.1"));
+ assertEquals("Packaging", getSelenium().getTable("//table[1].3.0"));
+ assertEquals("jar", getSelenium().getTable("//table[1].3.1"));
+ }
+
+ public void testBrowseArtifactDependencies()
+ {
+ browseArtifact();
+
+ clickLinkWithText( "Dependencies" );
+ assertLinkPresent( "Info" );
+ assertTextPresent( "Dependencies" );
+ assertLinkPresent( "Dependency Tree" );
+ assertLinkPresent( "Used By" );
+ assertLinkPresent( "Mailing Lists" );
+
+ assertPage( "Browse Repository" );
+ assertTextPresent( "artifact-a" );
+ assertLinkPresent( "artifact-b" );
+ }
+
+ public void testBrowseArtifactDependencyTree()
+ {
+ browseArtifact();
+
+ clickLinkWithText( "Dependency Tree" );
+ assertLinkPresent( "Info" );
+ assertLinkPresent( "Dependencies" );
+ assertTextPresent( "Dependency Tree" );
+ assertLinkPresent( "Used By" );
+ assertLinkPresent( "Mailing Lists" );
+
+ assertPage( "Browse Repository" );
+ assertTextPresent( "artifact-a" );
+ assertLinkPresent( "artifact-b" );
+ assertLinkPresent( "artifact-c" );
+ }
+
+ public void testBrowseArtifactUsedBy()
+ {
+ browseArtifact();
+
+ clickLinkWithText( "Used By" );
+ assertLinkPresent( "Info" );
+ assertLinkPresent( "Dependencies" );
+ assertLinkPresent( "Dependency Tree" );
+ assertTextPresent( "Used By" );
+ assertLinkPresent( "Mailing Lists" );
+
+ assertPage( "Browse Repository" );
+ assertTextPresent( "artifact-a" );
+ assertLinkPresent( "artifact-s" );
+ }
+
+ public void testBrowseArtifactMailingLists()
+ {
+ browseArtifact();
+
+ clickLinkWithText( "Mailing Lists" );
+ assertLinkPresent( "Info" );
+ assertLinkPresent( "Dependencies" );
+ assertLinkPresent( "Dependency Tree" );
+ assertLinkPresent( "Used By" );
+ assertTextPresent( "Mailing Lists" );
+
+ assertPage( "Browse Repository" );
+ assertTextPresent( "artifact-a" );
+ assertTextPresent( "No mailing lists" );
+ }
+
+ public void testBrowseUpRepositoryDirectory()
+ {
+ browseArtifact();
+
+ assertLinkPresent( "artifact-a" );
+
+ clickLinkWithText( "artifact-a" );
+ assertPage( "Browse Repository" );
+ assertTextPresent( "Browse Repository" );
+ assertTextPresent( "artifact-a" );
+ assertTextPresent( "Versions" );
+ assertLinkPresent( "1.0/" );
+ assertLinkPresent( "test" );
+
+ clickLinkWithText( "test" );
+ assertPage( "Browse Repository" );
+ assertTextPresent( "Browse Repository" );
+ assertTextPresent( "Artifacts" );
+ assertLinkPresent( "artifact-a/" );
+ assertLinkPresent( "web" );
+
+ clickLinkWithText( "web" );
+ assertPage( "Browse Repository" );
+ assertTextPresent( "Browse Repository" );
+ assertTextPresent( "Groups" );
+ assertLinkPresent( "org.apache.maven.archiva.web.test/" );
+ assertLinkPresent( "[top]" );
+
+ clickLinkWithText( "[top]" );
+ assertPage( "Browse Repository" );
+ assertTextPresent( "Browse Repository" );
+ assertTextPresent( "Groups" );
+ assertLinkPresent( "org.apache.maven.archiva.web.test/" );
+ }
+
+ public void testBrowseDependencyArtifact()
+ {
+ browseArtifact();
+
+ clickLinkWithText( "Dependencies" );
+ assertPage( "Browse Repository" );
+ assertTextPresent( "artifact-a" );
+ assertLinkPresent( "artifact-b" );
+
+ clickLinkWithText( "artifact-b" );
+ assertEquals("Group ID", getSelenium().getTable("//table[1].0.0"));
+ assertEquals("org.apache.maven.archiva.web.test", getSelenium().getTable("//table[1].0.1"));
+ assertEquals("Artifact ID", getSelenium().getTable("//table[1].1.0"));
+ assertEquals("artifact-b", getSelenium().getTable("//table[1].1.1"));
+ assertEquals("Version", getSelenium().getTable("//table[1].2.0"));
+ assertEquals("2.0", getSelenium().getTable("//table[1].2.1"));
+ assertEquals("Packaging", getSelenium().getTable("//table[1].3.0"));
+ assertEquals("jar", getSelenium().getTable("//table[1].3.1"));
+ }
+}
submitLoginPage( adminUsername, adminPassword );
clickLinkWithText( "User Management" );
- assertPage( "[Admin] User List" );
- assertLinkNotPresent( username );
+ //assertPage( "[Admin] User List" );
+ //assertLinkNotPresent( username );
clickButtonWithValue( "Create New User" );
- assertPage( "[Admin] User Create" );
+ //assertPage( "[Admin] User Create" );
setFieldValue( "user.username", username );
setFieldValue( "user.fullName", username + " FullName" );
setFieldValue( "user.email", username + "@localhost.com" );
setFieldValue( "user.confirmPassword", password );
clickButtonWithValue( "Create User" );
waitPage();
- assertPage( "[Admin] User List" );
- assertLinkPresent( username );
+ //assertPage( "[Admin] User List" );
+ //assertLinkPresent( username );
logout();
}
--- /dev/null
+package org.apache.maven.archiva.web.test;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Archiva's webapp UI test for adding/editing/deleting managed repositories.
+ *
+ * @author <a href="mailto:nramirez@exist.com">Napoleon Esmundo C. Ramirez</a>
+ */
+public class ManagedRepositoryTest
+ extends AbstractArchivaTestCase
+{
+ private static final String TEST_REPOSITORY_ID = "test-repository-id";
+
+ private static final String TEST_REPOSITORY_URL = "test-repository-url";
+
+ private static final String TEST_REPOSITORY_NAME = "test-repository-name";
+
+ private static final String TEST_REPOSITORY_DIRECTORY = "test-repository-directory";
+
+
+ private void clickManagedRepositories()
+ {
+ goToLoginPage();
+ submitLoginPage( adminUsername, adminPassword );
+
+ clickLinkWithText( "Managed Repositories" );
+ assertPage( "Administration" );
+ assertTextPresent( "Administration" );
+ }
+
+ private void createManagedRepository( String id, String url, String name, String directory )
+ {
+ clickManagedRepositories();
+
+ clickLinkWithText( "Add Repository" );
+ assertTextPresent( "Configuration" );
+
+ setFieldValue( "addRepository_id", id );
+ setFieldValue( "urlName", url );
+ setFieldValue( "addRepository_name", name );
+ setFieldValue( "addRepository_directory", directory );
+
+ clickButtonWithValue( "Add Repository", false );
+ }
+
+ private void removeManagedRepository( String id )
+ {
+ logout();
+
+ clickManagedRepositories();
+
+ clickLinkWithLocator( "//a[contains(@href, '/admin/deleteRepository!input.action?repoId=" + id + "')]" );
+ clickLinkWithLocator( "deleteRepository_operationdelete-contents", false );
+ clickButtonWithValue( "Go" );
+
+ assertPage( "Administration" );
+ assertTextNotPresent( TEST_REPOSITORY_ID );
+ }
+
+ public void testAddRepositoryWithValidValues()
+ {
+ createManagedRepository( TEST_REPOSITORY_ID, TEST_REPOSITORY_URL, TEST_REPOSITORY_NAME, TEST_REPOSITORY_DIRECTORY );
+ waitPage();
+
+ assertPage( "Administration" );
+ assertTextPresent( TEST_REPOSITORY_ID );
+
+ removeManagedRepository( TEST_REPOSITORY_ID );
+ }
+
+ public void testAddRepositoryWithInvalidValues()
+ {
+ createManagedRepository( "", "", "", "" );
+
+ assertTextPresent( "You must enter the repository identifier." );
+ assertTextPresent( "You must enter the url name." );
+ assertTextPresent( "You must enter the repository name." );
+ assertTextPresent( "You must enter the repository directory." );
+ }
+
+ public void testEditRepositoryWithValidValues()
+ {
+ createManagedRepository( TEST_REPOSITORY_ID, TEST_REPOSITORY_URL, TEST_REPOSITORY_NAME, TEST_REPOSITORY_DIRECTORY );
+ waitPage();
+
+ assertPage( "Administration" );
+ assertTextPresent( TEST_REPOSITORY_NAME );
+
+ clickLinkWithLocator( "//a[contains(@href, '/admin/editRepository!input.action?repoId=" + TEST_REPOSITORY_ID + "')]" );
+ assertPage( "Configuration" );
+ assertTextPresent( "Configuration" );
+
+ assertTextPresent( "Edit Managed Repository" );
+ assertEquals( TEST_REPOSITORY_URL, getFieldValue( "urlName" ) );
+ assertEquals( TEST_REPOSITORY_NAME, getFieldValue( "editRepository_name" ) );
+ assertTrue( getFieldValue( "editRepository_directory" ).endsWith( TEST_REPOSITORY_DIRECTORY ) );
+
+ setFieldValue( "urlName", "edited-" + TEST_REPOSITORY_URL );
+ setFieldValue( "editRepository_name", "edited-" + TEST_REPOSITORY_NAME );
+ setFieldValue( "editRepository_directory", "edited-" + TEST_REPOSITORY_DIRECTORY );
+
+ clickButtonWithValue( "Update Repository" );
+ assertPage( "Administration" );
+ assertTextPresent( TEST_REPOSITORY_ID );
+ assertTextPresent( "edited-" + TEST_REPOSITORY_NAME );
+
+ removeManagedRepository( TEST_REPOSITORY_ID );
+ }
+
+ public void testEditRepositoryWithInvalidValues()
+ {
+ createManagedRepository( TEST_REPOSITORY_ID, TEST_REPOSITORY_URL, TEST_REPOSITORY_NAME, TEST_REPOSITORY_DIRECTORY );
+ waitPage();
+
+ assertPage( "Administration" );
+ assertTextPresent( TEST_REPOSITORY_NAME );
+
+ clickLinkWithLocator( "//a[contains(@href, '/admin/editRepository!input.action?repoId=" + TEST_REPOSITORY_ID + "')]" );
+ assertPage( "Configuration" );
+ assertTextPresent( "Configuration" );
+
+ assertTextPresent( "Edit Managed Repository" );
+ assertEquals( TEST_REPOSITORY_URL, getFieldValue( "urlName" ) );
+ assertEquals( TEST_REPOSITORY_NAME, getFieldValue( "editRepository_name" ) );
+ assertTrue( getFieldValue( "editRepository_directory" ).endsWith( TEST_REPOSITORY_DIRECTORY ) );
+
+ setFieldValue( "urlName", "" );
+ setFieldValue( "editRepository_name", "" );
+ setFieldValue( "editRepository_directory", "" );
+
+ clickButtonWithValue( "Update Repository", false );
+ assertTextPresent( "You must enter the url name." );
+ assertTextPresent( "You must enter the repository name." );
+ assertTextPresent( "You must enter the repository directory." );
+
+ removeManagedRepository( TEST_REPOSITORY_ID );
+ }
+
+ public void testDeleteRepositoryButLeaveUnmodified()
+ {
+ createManagedRepository( TEST_REPOSITORY_ID, TEST_REPOSITORY_URL, TEST_REPOSITORY_NAME, TEST_REPOSITORY_DIRECTORY );
+ waitPage();
+
+ assertPage( "Administration" );
+ assertTextPresent( TEST_REPOSITORY_ID );
+
+ clickLinkWithLocator( "//a[contains(@href, '/admin/deleteRepository!input.action?repoId=" + TEST_REPOSITORY_ID + "')]" );
+ clickLinkWithLocator( "deleteRepository_operationunmodified", false );
+ clickButtonWithValue( "Go" );
+
+ assertPage( "Administration" );
+ assertTextPresent( TEST_REPOSITORY_ID );
+
+ removeManagedRepository( TEST_REPOSITORY_ID );
+ }
+
+ public void testDeleteRepositoryAndContents()
+ {
+ createManagedRepository( TEST_REPOSITORY_ID, TEST_REPOSITORY_URL, TEST_REPOSITORY_NAME, TEST_REPOSITORY_DIRECTORY );
+ waitPage();
+
+ assertPage( "Administration" );
+ assertTextPresent( TEST_REPOSITORY_ID );
+
+ removeManagedRepository( TEST_REPOSITORY_ID );
+ }
+
+ public void testDeleteRepositoryButLeaveContentsUnmodified()
+ {
+ createManagedRepository( TEST_REPOSITORY_ID, TEST_REPOSITORY_URL, TEST_REPOSITORY_NAME, TEST_REPOSITORY_DIRECTORY );
+ waitPage();
+
+ assertPage( "Administration" );
+ assertTextPresent( TEST_REPOSITORY_ID );
+
+ clickLinkWithLocator( "//a[contains(@href, '/admin/deleteRepository!input.action?repoId=" + TEST_REPOSITORY_ID + "')]" );
+ clickLinkWithLocator( "deleteRepository_operationdelete-entry", false );
+ clickButtonWithValue( "Go" );
+
+ assertPage( "Administration" );
+ assertTextNotPresent( TEST_REPOSITORY_ID );
+ }
+}
--- /dev/null
+package org.apache.maven.archiva.web.test;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Test archiva proxied repositories configuration
+ *
+ * @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
+ */
+public class ProxiedRepositoryTest
+ extends AbstractArchivaTestCase
+{
+ /**
+ *
+ */
+ protected void initialize()
+ {
+ super.initialize();
+
+ createTestRepo();
+ }
+
+ /**
+ * Create a proxied repo which will be used for testing
+ */
+ private void createTestRepo()
+ {
+ clickProxiedRepositories();
+
+ if ( isTextPresent( "There are no proxied repositories configured yet." ) )
+ {
+ clickLinkWithText( "Add Repository" );
+ assertPage( "Configuration" );
+ setFieldValue( "id", "test-proxied" );
+ setFieldValue( "name", "Test Proxied Repository" );
+ setFieldValue( "url", "http://test.com/test-proxied" );
+ clickButtonWithValue( "Add Repository" );
+ waitPage();
+
+ assertPage( "Administration" );
+ assertTextPresent( "Test Proxied Repository" );
+ assertLinkPresent( "Edit Repository" );
+ }
+
+ logout();
+ }
+
+ /**
+ * Test add proxied repo with invalid data
+ */
+ public void testInvalidAddProxiedRepoConfiguration()
+ {
+ clickProxiedRepositories();
+
+ clickLinkWithText( "Add Repository" );
+ assertPage( "Configuration" );
+
+ clickButtonWithValue( "Add Repository", false );
+ assertPage( "Configuration" );
+ assertTextPresent( "You must enter the repository identifier." );
+ assertTextPresent( "You must enter the repository name." );
+ assertTextPresent( "You must enter the repository URL." );
+
+ logout();
+ }
+
+ /**
+ * Test edit proxied repo with valid data
+ */
+ public void testValidEditProxiedRepoConfiguration()
+ {
+ clickProxiedRepositories();
+ clickLinkWithText( "Edit Repository" );
+
+ assertPage( "Configuration" );
+ assertTextPresent( "Edit Proxied Repository" );
+ setFieldValue( "name", "Test Valid" );
+ setFieldValue( "url", "http://valid.org/test-valid" );
+ clickButtonWithValue( "Update Repository" );
+ waitPage();
+
+ assertPage( "Administration" );
+ assertTextPresent( "Test Valid" );
+ assertLinkPresent( "Edit Repository" );
+
+ logout();
+ }
+
+ /**
+ * Test edit proxied repo with invalid data
+ */
+ public void testInvalidEditProxiedRepoConfiguration()
+ {
+ clickProxiedRepositories();
+ clickLinkWithText( "Edit Repository" );
+
+ assertPage( "Configuration" );
+ assertTextPresent( "Edit Proxied Repository" );
+ setFieldValue( "name", "" );
+ setFieldValue( "url", "" );
+ clickButtonWithValue( "Update Repository", false );
+
+ assertPage( "Configuration" );
+ assertTextPresent( "You must enter the repository name." );
+ assertTextPresent( "You must enter the repository URL." );
+
+ logout();
+ }
+
+ /**
+ * Test delete repository, unmodified entry and contents
+ */
+ public void testDeleteRepoUnmodified()
+ {
+ clickProxiedRepositories();
+ clickLinkWithText( "Delete Repository" );
+
+ assertPage( "Configuration" );
+ assertTextPresent( "Delete Proxied Repository" );
+ clickButtonWithValue( "Go" );
+
+ assertPage( "Administration" );
+ assertTextPresent( "Test Proxied Repository" );
+
+ logout();
+ }
+
+ /**
+ * Test delete repository including contents
+ */
+ public void testDeleteRepoRemoveFromDisk()
+ {
+ clickProxiedRepositories();
+ clickLinkWithText( "Delete Repository" );
+
+ assertPage( "Configuration" );
+ clickLinkWithLocator( "deleteProxiedRepository_operationdelete-contents", false );
+ clickButtonWithValue( "Go" );
+
+ assertPage( "Administration" );
+ assertTextNotPresent( "Test Proxied Repository" );
+
+ logout();
+ }
+
+ /**
+ * Test delete repository, unmodified contents/entry deleted
+ */
+ public void testDeleteRepoUnmodifiedContents()
+ {
+ clickProxiedRepositories();
+ clickLinkWithText( "Delete Repository" );
+
+ assertPage( "Configuration" );
+ clickLinkWithLocator( "deleteProxiedRepository_operationdelete-entry", false );
+ clickButtonWithValue( "Go" );
+
+ assertPage( "Administration" );
+ assertTextNotPresent( "Test Proxied Repository" );
+
+ logout();
+ }
+
+ /**
+ * Click Settings from the navigation menu
+ */
+ private void clickProxiedRepositories()
+ {
+ goToLoginPage();
+ submitLoginPage( adminUsername, adminPassword );
+
+ clickLinkWithText( "Proxied Repositories" );
+ assertPage( "Administration" );
+ assertTextPresent( "Proxied Repositories" );
+ }
+
+ /**
+ * Remove the created test repo
+ */
+ protected void removeTestRepo()
+ {
+ if ( !isLinkPresent( "Login" ) )
+ {
+ logout();
+ }
+
+ clickProxiedRepositories();
+
+ if ( isTextPresent( "Delete Repository " ) )
+ {
+ clickLinkWithText( "Delete Repository" );
+ assertPage( "Configuration" );
+ clickLinkWithLocator( "deleteProxiedRepository_operationdelete-entry", false );
+ clickButtonWithValue( "Go" );
+
+ assertPage( "Administration" );
+ assertTextNotPresent( "Test Proxied Repository" );
+ }
+
+ logout();
+ }
+
+ /**
+ * Revert to original value
+ *
+ * @throws Exception
+ */
+ public void tearDown()
+ throws Exception
+ {
+ removeTestRepo();
+
+ super.tearDown();
+ }
+
+}
--- /dev/null
+package org.apache.maven.archiva.web.test;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+public class SearchTest
+ extends AbstractArchivaTestCase
+{
+ private static int PAGE_LOAD_WAIT = 1500;
+
+ public void testSearchNonExistingArtifact()
+ {
+ searchForArtifact( "asdf" );
+
+ waitPage( PAGE_LOAD_WAIT );
+
+ assertTextPresent( "No results found" );
+ }
+
+ public void testSearchExistingArtifact()
+ {
+ searchForArtifact( "artifact-a" );
+
+ waitPage( PAGE_LOAD_WAIT );
+
+ assertPage( "Search Results" );
+
+ assertTextPresent( "artifact-a" );
+ }
+
+ public void testViewSearchedArtifact()
+ {
+ // test viewing artifact (header link) listed in search results
+
+ searchForArtifact( "artifact-a" );
+
+ waitPage( PAGE_LOAD_WAIT );
+
+ getSelenium().click( "link=artifact-a" );
+
+ waitPage( PAGE_LOAD_WAIT );
+
+ assertPage( "Browse Repository" );
+
+ assertTextPresent( "artifact-a" );
+
+ //test viewing artifact listed in search results
+
+ searchForArtifact( "artifact-a" );
+
+ waitPage( PAGE_LOAD_WAIT );
+
+ clickLinkWithText( "1.0" );
+
+ waitPage( PAGE_LOAD_WAIT );
+
+ assertPage( "Browse Repository" );
+
+ assertTextPresent( "Artifact ID" );
+
+ assertTextPresent( "artifact-a" );
+
+ assertTextPresent( "Version" );
+
+ assertTextPresent( "1.0" );
+ }
+
+ public void testBrowseSearchedArtifact()
+ {
+ // test viewing artifact listed in search results
+
+ searchForArtifact( "artifact-a" );
+
+ waitPage( PAGE_LOAD_WAIT );
+
+ getSelenium().click("//p[1]/span/a[1]");
+
+ waitPage( PAGE_LOAD_WAIT );
+
+ assertPage( "Browse Repository" );
+
+ assertTextPresent( "artifact-a" );
+ }
+
+ public void testBrowseRepoFromSearchResults()
+ {
+ searchForArtifact( "artifact-a" );
+
+ waitPage( PAGE_LOAD_WAIT );
+
+ clickLinkWithText( "[top]" );
+
+ waitPage( PAGE_LOAD_WAIT );
+
+ assertPage( "Browse Repository" );
+ }
+
+ private void searchForArtifact( String artifactId )
+ {
+ if ( !"Maven Archiva :: Quick Search".equals( getSelenium().getTitle() ) )
+ {
+ clickLinkWithText( "Search" );
+
+ waitPage( PAGE_LOAD_WAIT );
+
+ assertPage( "Quick Search" );
+ }
+
+ setFieldValue( "quickSearch_q", artifactId );
+
+ clickButtonWithValue( "Submit" );
+ }
+}
\ No newline at end of file
--- /dev/null
+package org.apache.maven.archiva.web.test;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+/**
+ * Test archiva 'Settings'
+ *
+ * @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
+ */
+public class SettingsTest
+ extends AbstractArchivaTestCase
+{
+ /*
+ public void testRunIndexer()
+ {
+ clickSettings();
+
+ clickLinkWithText( "Run Now" );
+ waitPage();
+
+ assertPage( "Administration" );
+
+ logout();
+ } */
+
+ public void testEditIndexDirectory()
+ {
+ clickEditConfiguration();
+
+ setFieldValue( "indexPath", getBasedir() + "/target/web-ui-index" );
+ clickButtonWithValue( "Save Configuration" );
+ waitPage();
+ assertPage( "Administration" );
+ assertTextPresent( getBasedir() + "/target/web-ui-index" );
+
+ logout();
+ }
+
+ public void testValidIndexSchedule()
+ {
+ clickEditConfiguration();
+
+ setFieldValue( "second", "*" );
+ setFieldValue( "minute", "*" );
+ clickButtonWithValue( "Save Configuration" );
+ waitPage();
+ assertPage( "Administration" );
+
+ logout();
+ }
+
+ public void testInvalidIndexSchedule()
+ {
+ clickEditConfiguration();
+ setFieldValue( "second", "asdf" );
+ clickButtonWithValue( "Save Configuration" );
+ waitPage();
+ assertPage( "Configuration" );
+ assertTextPresent( "Invalid Cron Expression" );
+
+ logout();
+ }
+
+ public void testEditProxyHost()
+ {
+ clickEditConfiguration();
+
+ setFieldValue( "proxy.host", "asdf" );
+ clickButtonWithValue( "Save Configuration" );
+ waitPage();
+ assertPage( "Administration" );
+
+ logout();
+ }
+
+ public void testValidProxyPort()
+ {
+ clickEditConfiguration();
+
+ setFieldValue( "proxy.port", "32143" );
+ clickButtonWithValue( "Save Configuration" );
+ waitPage();
+ assertPage( "Administration" );
+
+ logout();
+ }
+
+ public void testInvalidProxyPort()
+ {
+ clickEditConfiguration();
+ setFieldValue( "proxy.port", "asdf" );
+ clickButtonWithValue( "Save Configuration" );
+ waitPage();
+ assertPage( "Configuration" );
+ assertTextPresent( "Port" );
+ assertTextPresent( "Invalid field value for field \"proxy.port\"" );
+
+ setFieldValue( "proxy.port", "-1" );
+ clickButtonWithValue( "Save Configuration" );
+ waitPage();
+ assertPage( "Administration" );
+
+ logout();
+ }
+
+ public void testEditProxyCredentials()
+ {
+ clickEditConfiguration();
+
+ setFieldValue( "proxy.username", "asdf" );
+ clickButtonWithValue( "Save Configuration" );
+ waitPage();
+ assertPage( "Administration" );
+
+ logout();
+ }
+
+ /**
+ * Click Edit Configuration link
+ */
+ private void clickEditConfiguration()
+ {
+ clickSettings();
+
+ clickLinkWithText( "Edit Configuration" );
+ assertPage( "Configuration" );
+ }
+
+ /**
+ * Click Settings from the navigation menu
+ */
+ private void clickSettings()
+ {
+ goToLoginPage();
+ submitLoginPage( adminUsername, adminPassword );
+
+ clickLinkWithText( "Settings" );
+ assertPage( "Administration" );
+ }
+
+ public void tearDown()
+ throws Exception
+ {
+ clickEditConfiguration();
+ setFieldValue( "indexPath", getBasedir() + "/target/web-ui-index" );
+ setFieldValue( "second", "0" );
+ setFieldValue( "minute", "0,30" );
+ setFieldValue( "hour", "*" );
+ setFieldValue( "dayOfMonth", "*" );
+ setFieldValue( "month", "*" );
+ setFieldValue( "dayOfWeek", "?" );
+ setFieldValue( "year", "" );
+ setFieldValue( "proxy.port", "8080" );
+ setFieldValue( "proxy.host", "" );
+ setFieldValue( "proxy.username", "" );
+ setFieldValue( "proxy.password", "" );
+ clickButtonWithValue( "Save Configuration" );
+ waitPage();
+ assertPage( "Administration" );
+
+ logout();
+
+ super.tearDown();
+ }
+
+}
--- /dev/null
+<configuration />
--- /dev/null
+<configuration />
--- /dev/null
+#Last Scan Information, managed by Archiva. DO NOT EDIT
+#Thu Apr 19 17:04:36 PHT 2007
+scan.included.files=12
+scan.skipped.files=0
+scan.finished.timestamp=1176973476967
+scan.consumed.files=20
+scan.started.timestamp=1176973467414
--- /dev/null
+0360f14347d5502114ba7afe4ea2e07f
\ No newline at end of file
--- /dev/null
+4a667b9923fb936409b96c8242bebc2f96f374f5
\ No newline at end of file
--- /dev/null
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.archiva.web.test</groupId>
+ <artifactId>artifact-a</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+ <name>artifact-a</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.archiva.web.test</groupId>
+ <artifactId>artifact-b</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav</artifactId>
+ </extension>
+ </extensions>
+ </build>
+</project>
--- /dev/null
+cdf69ffbcb888aacea6cfeaf479fefd1
\ No newline at end of file
--- /dev/null
+f6a384b1ab62ed45ae7dee1a059815e94bbc7fa6
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.archiva.web.test</groupId>
+ <artifactId>artifact-a</artifactId>
+ <version>1.0</version>
+ <versioning>
+ <versions>
+ <version>1.0</version>
+ </versions>
+ <lastUpdated>20070417090928</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
--- /dev/null
+bc87573a595a2c387b5baa4ad7d06743
\ No newline at end of file
--- /dev/null
+e9ecaaa14a3c09b07206980c15749a631dbc986a
\ No newline at end of file
--- /dev/null
+16a308257949f23afa5d1f1dec41aa44
\ No newline at end of file
--- /dev/null
+36a3a9cc35b8ca0d73998d7b39d290b489800a22
\ No newline at end of file
--- /dev/null
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.archiva.web.test</groupId>
+ <artifactId>artifact-b</artifactId>
+ <packaging>jar</packaging>
+ <version>2.0</version>
+ <name>artifact-b</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.archiva.web.test</groupId>
+ <artifactId>artifact-c</artifactId>
+ <version>3.0</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav</artifactId>
+ </extension>
+ </extensions>
+ </build>
+</project>
--- /dev/null
+be5b8f8539a62b5935793ebeb87215fd
\ No newline at end of file
--- /dev/null
+012a658d4a4f70aa3e8dd4b2db67020817b7dfcc
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.archiva.web.test</groupId>
+ <artifactId>artifact-b</artifactId>
+ <version>2.0</version>
+ <versioning>
+ <versions>
+ <version>2.0</version>
+ </versions>
+ <lastUpdated>20070417090908</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
--- /dev/null
+bedfccc27fc7dc262d5c99a7aa8b83d8
\ No newline at end of file
--- /dev/null
+4902ea6b16838ff26f9136460c4394b0ad7cc7f5
\ No newline at end of file
--- /dev/null
+853a10a201f8a296e37e856615c5349c
\ No newline at end of file
--- /dev/null
+5155da8820ed77c43e983c1244d94a3b27bf08f7
\ No newline at end of file
--- /dev/null
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.archiva.web.test</groupId>
+ <artifactId>artifact-c</artifactId>
+ <packaging>jar</packaging>
+ <version>3.0</version>
+ <name>artifact-c</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav</artifactId>
+ </extension>
+ </extensions>
+ </build>
+</project>
--- /dev/null
+4df0417579b1492f37da14316adb85af
\ No newline at end of file
--- /dev/null
+c3b007acd9c17b80753b39a4121255965e7e2e65
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.archiva.web.test</groupId>
+ <artifactId>artifact-c</artifactId>
+ <version>3.0</version>
+ <versioning>
+ <versions>
+ <version>3.0</version>
+ </versions>
+ <lastUpdated>20070417090835</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
--- /dev/null
+74d58d97e78d5e51cc02c489c5edba0d
\ No newline at end of file
--- /dev/null
+5c7571eb35248be0f65758783b036e8f7899c146
\ No newline at end of file
--- /dev/null
+55f498a518e1151ce2e54daa674691de
\ No newline at end of file
--- /dev/null
+730551bde461564d3f8a7e0178ef9bc54a86d2dd
\ No newline at end of file
--- /dev/null
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.archiva.web.test</groupId>
+ <artifactId>artifact-s</artifactId>
+ <packaging>jar</packaging>
+ <version>0.1</version>
+ <name>artifact-s</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.archiva.web.test</groupId>
+ <artifactId>artifact-a</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav</artifactId>
+ </extension>
+ </extensions>
+ </build>
+</project>
--- /dev/null
+746ba2848229dbc1c9683ece0e7f02c8
\ No newline at end of file
--- /dev/null
+0d068f63069a86d982075a1dca7fe74fd95a29df
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.archiva.web.test</groupId>
+ <artifactId>artifact-s</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20070417090721</lastUpdated>
+ </versioning>
+</metadata>
\ No newline at end of file
--- /dev/null
+baa0ad0afaba9cee66ec262b38f796b6
\ No newline at end of file
--- /dev/null
+dea84d579f673d2d87c7bd47e4318cdf8e59e4d0
\ No newline at end of file
driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
url="jdbc:derby:target/database/users;create=true"
/>
+
+ <Resource name="jdbc/archiva" auth="Container" type="javax.sql.DataSource"
+ username="sa"
+ password=""
+ driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
+ url="jdbc:derby:database/archiva;create=true" />
</Context>
<dependency>
<groupId>org.codehaus.plexus.registry</groupId>
<artifactId>plexus-registry-api</artifactId>
- <version>1.0-alpha-2</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus.registry</groupId>
<artifactId>plexus-registry-commons</artifactId>
- <version>1.0-alpha-2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus.cache</groupId>
+ <artifactId>plexus-cache-api</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus.cache</groupId>
+ <artifactId>plexus-cache-ehcache</artifactId>
+ <scope>compile</scope>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<decorator:title default="Maven Archiva"/>
</title>
- <style type="text/css" media="all">
- @import url( "<c:url value="/css/maven-base.css" />" );
- @import url( "<c:url value="/css/maven-theme.css" />" );
- @import url( "<c:url value="/css/pss/table.css" />" );
- @import url( "<c:url value="/css/site.css" />" );
- </style>
+ <link rel="stylesheet" href="<c:url value="/css/maven-base.css"/>" type="text/css" media="all"/>
+ <link rel="stylesheet" href="<c:url value="/css/maven-theme.css"/>" type="text/css" media="all"/>
+ <link rel="stylesheet" href="<c:url value="/css/pss/table.css"/>" type="text/css" media="all"/>
+ <link rel="stylesheet" href="<c:url value="/css/site.css"/>" type="text/css" media="all"/>
<link rel="stylesheet" href="<c:url value="/css/print.css"/>" type="text/css" media="print"/>
<link rel="shortcut icon" href="<c:url value="/favicon.ico" />" />
<script type="text/javascript" src="<c:url value="/js/scriptaculous/prototype.js"/>"></script>
~ limitations under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.apache.maven.archiva</groupId>
<artifactId>archiva-parent</artifactId>
retval=$?; if [ $retval != 0 ]; then exit $retval; fi
retval=$?; if [ $retval != 0 ]; then exit $retval; fi
+# ------------------------------------------------------------------------
+# Cica.es synchronization: sync the central repository to Cica.es
+# ------------------------------------------------------------------------
+
+[ "$MODE" = "batch" ] && echo && echo "Press any key to run the sync to Cica, or hit ^C to quit." && echo
+
+./synchronize-central-to-cica.sh $syncProperties
+retval=$?; if [ $retval != 0 ]; then exit $retval; fi
+retval=$?; if [ $retval != 0 ]; then exit $retval; fi
+
# ------------------------------------------------------------------------
# Copy the mod_rewrite rules to the Maven 1.x repository
# ------------------------------------------------------------------------
--- /dev/null
+#!/bin/sh
+
+CONTACTS="Daniel brolund <daniel.brolund@agical.com>"
+MODE=rsync_ssh
+
+FROM=mavensync@shell.sourceforge.net:/home/groups/r/rm/rmock/htdocs/repository
+GROUP_DIR=com/agical/rmock
--- /dev/null
+#!/bin/sh
+
+CONTACT="Vlad Skarzhevskyy <skarzhevskyy@gmail.com>"
+MODE=rsync
+
+FROM=mavensync@pyx4me.com::maven2-release
+GROUP_DIR=com/pyx4me/
+
+NO_SSH=true
\ No newline at end of file
--- /dev/null
+#!/bin/sh
+
+CONTACTS="Leonid Vysochyn <leonid.vysochyn@gmail.com>"
+MODE=rsync_ssh
+
+FROM=mavensync@shell.sourceforge.net:/home/groups/j/jx/jxls/htdocs/repository/releases
+GROUP_DIR=net/sf/jxls
--- /dev/null
+#!/bin/sh
+
+CONTACTS="Christian Schulte <cs@jdtaus.org>, jDTAUS Support <support@jdtaus.org>"
+MODE=rsync
+
+FROM=rsync://repository.jdtaus.org/repository
+GROUP_DIR=org/jdtaus/
+
+NO_SSH=true
<parent>
<groupId>org.apache.maven</groupId>
<artifactId>maven-parent</artifactId>
- <version>4</version>
+ <version>5</version>
<relativePath>../pom/maven/pom.xml</relativePath>
</parent>
<groupId>org.apache.maven.archiva</groupId>
<url>http://svn.apache.org/viewcvs.cgi/maven/archiva/trunk</url>
</scm>
<distributionManagement>
+ <repository>
+ <id>apache.releases</id>
+ <url>scpexe://people.apache.org/www/people.apache.org/builds/maven/archiva/${version}/m2-staging-repository</url>
+ </repository>
<site>
<id>apache.website</id>
<url>
</tagBase>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-15</version>
+ </plugin>
</plugins>
</pluginManagement>
</build>
<artifactId>plexus-utils</artifactId>
<version>1.4</version>
</dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus.registry</groupId>
+ <artifactId>plexus-registry-api</artifactId>
+ <version>1.0-alpha-2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus.registry</groupId>
+ <artifactId>plexus-registry-commons</artifactId>
+ <version>1.0-alpha-2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus.cache</groupId>
+ <artifactId>plexus-cache-api</artifactId>
+ <version>1.0-alpha-2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus.cache</groupId>
+ <artifactId>plexus-cache-ehcache</artifactId>
+ <version>1.0-alpha-2</version>
+ </dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>