Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions its/core-it-suite/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,12 @@ under the License.
<artifactId>maven-it-plugin-plexus-lifecycle</artifactId>
<version>${core-it-support-version}</version>
</dependency>
<dependency>
<groupId>commons-jxpath</groupId>
<artifactId>commons-jxpath</artifactId>
<version>1.4.0</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,16 @@
*/
package org.apache.maven.it;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Collections;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.security.ConstraintMapping;
import org.eclipse.jetty.security.ConstraintSecurityHandler;
import org.eclipse.jetty.security.HashLoginService;
Expand Down Expand Up @@ -182,11 +180,11 @@ public InputStream stream(String path) throws IOException {
return this;
}

public HttpServerBuilder source(final File source) {
public HttpServerBuilder source(final Path source) {
this.source = new StreamSource() {
@Override
public InputStream stream(String path) throws IOException {
return new FileInputStream(new File(source, path));
return Files.newInputStream(source.resolve(path));
}
};
return this;
Expand Down Expand Up @@ -227,7 +225,7 @@ public static void main(String[] args) throws Exception {
.port(0) //
.username("maven") //
.password("secret") //
.source(new File("/tmp/repo")) //
.source(Path.of("/tmp/repo")) //
.build();
server.start();
}
Expand Down
57 changes: 27 additions & 30 deletions its/core-it-suite/src/test/java/org/apache/maven/it/ItUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,15 @@
*/
package org.apache.maven.it;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
import java.nio.file.attribute.FileTime;
import java.security.DigestInputStream;
import java.security.MessageDigest;
import org.codehaus.plexus.util.FileUtils;

import static org.junit.jupiter.api.Assertions.assertEquals;

Expand All @@ -32,60 +35,54 @@
*/
class ItUtils {

public static String calcHash(File file, String algo) throws Exception {
public static String calcHash(Path file, String algo) throws Exception {
MessageDigest digester = MessageDigest.getInstance(algo);

DigestInputStream dis;
try (FileInputStream is = new FileInputStream(file)) {
dis = new DigestInputStream(is, digester);

for (byte[] buffer = new byte[1024 * 4]; dis.read(buffer) >= 0; ) {
try (InputStream is = new DigestInputStream(Files.newInputStream(file), digester)) {
byte[] buffer = new byte[1024 * 4];
while (is.read(buffer) >= 0) {
// just read it
}
}

byte[] digest = digester.digest();

StringBuilder hash = new StringBuilder(digest.length * 2);

for (byte aDigest : digest) {
int b = aDigest & 0xFF;

if (b < 0x10) {
hash.append('0');
}

hash.append(Integer.toHexString(b));
}

return hash.toString();
}

/**
* @deprecated Use {@link Verifier#setUserHomeDirectory(Path)} instead.
*/
@Deprecated
public static void setUserHome(Verifier verifier, File file) {
setUserHome(verifier, file.toPath());
public static void assertCanonicalFileEquals(Path expected, Path actual) throws IOException {
assertEquals(canonicalPath(expected), canonicalPath(actual));
}

public static void createFile(Path path) throws IOException {
Files.newInputStream(path, StandardOpenOption.CREATE).close();
}

public static long lastModified(Path path) throws IOException {
return Files.getLastModifiedTime(path).toMillis();
}

/**
* @deprecated Use {@link Verifier#setUserHomeDirectory(Path)} instead.
*/
@Deprecated
public static void setUserHome(Verifier verifier, Path home) {
verifier.setUserHomeDirectory(home);
public static void lastModified(Path path, long millis) throws IOException {
Files.setLastModifiedTime(path, FileTime.fromMillis(millis));
}

public static void assertCanonicalFileEquals(File expected, File actual) throws IOException {
assertEquals(expected.getCanonicalFile(), actual.getCanonicalFile());
public static void deleteDirectory(Path path) throws IOException {
FileUtils.deleteDirectory(path.toFile());
}

public static void assertCanonicalFileEquals(String expected, String actual, String message) throws IOException {
assertEquals(new File(expected).getCanonicalFile(), new File(actual).getCanonicalFile(), message);
public static void copyDirectoryStructure(Path src, Path dest) throws IOException {
FileUtils.copyDirectory(src.toFile(), dest.toFile());
}

public static void assertCanonicalFileEquals(String expected, String actual) throws IOException {
assertEquals(new File(expected).getCanonicalFile(), new File(actual).getCanonicalFile());
public static String canonicalPath(Path path) throws IOException {
return path.toFile().getCanonicalPath();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/
package org.apache.maven.it;

import java.io.File;
import java.nio.file.Path;

import org.junit.jupiter.api.Test;

Expand All @@ -34,8 +34,8 @@ public class MavenIT0008SimplePluginTest extends AbstractMavenIntegrationTestCas
*/
@Test
public void testit0008() throws Exception {
File testDir = extractResources("/it0008");
Verifier verifier = newVerifier(testDir.getAbsolutePath());
Path testDir = extractResources("it0008");
Verifier verifier = newVerifier(testDir);
verifier.setAutoclean(false);
verifier.deleteDirectory("target");
verifier.deleteArtifact("org.apache.maven.its.plugins", "maven-it-plugin-touch", "1.0", "maven-plugin");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/
package org.apache.maven.it;

import java.io.File;
import java.nio.file.Path;

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledIf;
Expand All @@ -42,8 +42,8 @@ public void testit0009() throws Exception {
// Inline version check: [3.1.0,) - current Maven version supports space in XML
boolean supportSpaceInXml = true;

File testDir = extractResources("/it0009");
Verifier verifier = newVerifier(testDir.getAbsolutePath());
Path testDir = extractResources("it0009");
Verifier verifier = newVerifier(testDir);
verifier.setAutoclean(false);
verifier.deleteDirectory("target");
verifier.addCliArgument("validate");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/
package org.apache.maven.it;

import java.io.File;
import java.nio.file.Path;
import java.util.List;

import org.junit.jupiter.api.Test;
Expand All @@ -36,9 +36,9 @@ public class MavenIT0010DependencyClosureResolutionTest extends AbstractMavenInt
*/
@Test
public void testit0010() throws Exception {
File testDir = extractResources("/it0010");
Path testDir = extractResources("it0010");

Verifier verifier = newVerifier(testDir.getAbsolutePath());
Verifier verifier = newVerifier(testDir);
verifier.setAutoclean(false);
verifier.deleteDirectory("target");
verifier.deleteArtifacts("org.apache.maven.its.it0010");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,8 @@
*/
package org.apache.maven.it;

import java.io.File;
import java.nio.file.Path;
import java.util.List;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertTrue;
Expand All @@ -34,8 +33,8 @@ public class MavenIT0011DefaultVersionByDependencyManagementTest extends Abstrac
*/
@Test
public void testit0011() throws Exception {
File testDir = extractResources("/it0011");
Verifier verifier = newVerifier(testDir.getAbsolutePath());
Path testDir = extractResources("it0011");
Verifier verifier = newVerifier(testDir);
verifier.setAutoclean(false);
verifier.deleteDirectory("target");
verifier.deleteArtifacts("org.apache.maven.its.it0011");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/
package org.apache.maven.it;

import java.io.File;
import java.nio.file.Path;

import org.junit.jupiter.api.Test;

Expand All @@ -31,8 +31,8 @@ public class MavenIT0012PomInterpolationTest extends AbstractMavenIntegrationTes
*/
@Test
public void testit0012() throws Exception {
File testDir = extractResources("/it0012");
Verifier verifier = newVerifier(testDir.getAbsolutePath());
Path testDir = extractResources("it0012");
Verifier verifier = newVerifier(testDir);
verifier.setAutoclean(false);
verifier.deleteDirectory("target");
verifier.deleteDirectory("child-project/target");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/
package org.apache.maven.it;

import java.io.File;
import java.nio.file.Path;

import org.junit.jupiter.api.Test;

Expand All @@ -33,8 +33,8 @@ public class MavenIT0018DependencyManagementTest extends AbstractMavenIntegratio
*/
@Test
public void testit0018() throws Exception {
File testDir = extractResources("/it0018");
Verifier verifier = newVerifier(testDir.getAbsolutePath());
Path testDir = extractResources("it0018");
Verifier verifier = newVerifier(testDir);
verifier.setAutoclean(false);
verifier.deleteArtifacts("org.apache.maven.its.it0018");
verifier.filterFile("settings-template.xml", "settings.xml");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/
package org.apache.maven.it;

import java.io.File;
import java.nio.file.Path;

import org.junit.jupiter.api.Test;

Expand All @@ -31,8 +31,8 @@ public class MavenIT0019PluginVersionMgmtBySuperPomTest extends AbstractMavenInt
*/
@Test
public void testit0019() throws Exception {
File testDir = extractResources("/it0019");
Verifier verifier = newVerifier(testDir.getAbsolutePath());
Path testDir = extractResources("it0019");
Verifier verifier = newVerifier(testDir);
verifier.setAutoclean(false);
verifier.deleteDirectory("target");
verifier.addCliArgument("process-resources");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/
package org.apache.maven.it;

import java.io.File;
import java.nio.file.Path;

import org.junit.jupiter.api.Test;

Expand All @@ -32,9 +32,9 @@ public class MavenIT0021PomProfileTest extends AbstractMavenIntegrationTestCase
*/
@Test
public void testit0021() throws Exception {
File testDir = extractResources("/it0021");
Path testDir = extractResources("it0021");

Verifier verifier = newVerifier(testDir.getAbsolutePath());
Verifier verifier = newVerifier(testDir);
verifier.setAutoclean(false);
verifier.deleteArtifacts("org.apache.maven.its.it0021");
verifier.getSystemProperties().setProperty("includeProfile", "true");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/
package org.apache.maven.it;

import java.io.File;
import java.nio.file.Path;

import org.junit.jupiter.api.Test;

Expand All @@ -32,9 +32,9 @@ public class MavenIT0023SettingsProfileTest extends AbstractMavenIntegrationTest
*/
@Test
public void testit0023() throws Exception {
File testDir = extractResources("/it0023");
Path testDir = extractResources("it0023");

Verifier verifier = newVerifier(testDir.getAbsolutePath());
Verifier verifier = newVerifier(testDir);
verifier.setAutoclean(false);
verifier.deleteDirectory("target");
verifier.addCliArgument("--settings");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/
package org.apache.maven.it;

import java.io.File;
import java.nio.file.Path;

import org.junit.jupiter.api.Test;

Expand All @@ -38,9 +38,9 @@ public class MavenIT0024MultipleGoalExecutionsTest extends AbstractMavenIntegrat
*/
@Test
public void testit0024() throws Exception {
File testDir = extractResources("/it0024");
Path testDir = extractResources("it0024");

Verifier verifier = newVerifier(testDir.getAbsolutePath());
Verifier verifier = newVerifier(testDir);
verifier.setAutoclean(false);
verifier.deleteDirectory("target");
verifier.addCliArgument("initialize");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/
package org.apache.maven.it;

import java.io.File;
import java.nio.file.Path;

import org.junit.jupiter.api.Test;

Expand All @@ -37,9 +37,9 @@ public class MavenIT0025MultipleExecutionLevelConfigsTest extends AbstractMavenI
*/
@Test
public void testit0025() throws Exception {
File testDir = extractResources("/it0025");
Path testDir = extractResources("it0025");

Verifier verifier = newVerifier(testDir.getAbsolutePath());
Verifier verifier = newVerifier(testDir);
verifier.setAutoclean(false);
verifier.deleteDirectory("target");
verifier.addCliArgument("validate");
Expand Down
Loading
Loading