Compare commits
7 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ebaca6ff06 | ||
|
|
9739fc20a2 | ||
|
|
43c22349f3 | ||
|
|
a82344b624 | ||
|
|
ed326c9eb1 | ||
|
|
6cb24ea1a1 | ||
|
|
efe08cfac1 |
4 changed files with 52 additions and 35 deletions
33
javapackages.sh
Executable file
33
javapackages.sh
Executable file
|
|
@ -0,0 +1,33 @@
|
|||
#!/usr/bin/bash
|
||||
|
||||
set -eux
|
||||
tmt_root="${TMT_TREE%/tree}"
|
||||
test_data="${TMT_TEST_DATA##"${tmt_root}"/}"
|
||||
|
||||
# Fails with CI which uses a local image
|
||||
if echo "${JP_VALIDATOR_IMAGE}" | grep -q '/'; then
|
||||
podman pull "${JP_VALIDATOR_IMAGE}" || sleep 10
|
||||
fi
|
||||
|
||||
command=(podman run --rm --security-opt='label=disable'
|
||||
--mount type=bind,source="${TEST_ARTIFACTS}",target='/mnt/test-artifacts/',readonly
|
||||
--mount type=bind,source="${tmt_root}",target='/mnt/tmt/'
|
||||
)
|
||||
[ -n "${JP_VALIDATOR_SOURCE_PATH}" ] && command+=(
|
||||
--mount type=bind,source="${JP_VALIDATOR_SOURCE_PATH}",target='/mnt/project/src',readonly
|
||||
)
|
||||
[ -n "${JP_VALIDATOR_OUTPUT_DIR}" ] && command+=(
|
||||
--mount type=bind,source="${JP_VALIDATOR_OUTPUT_DIR}",target='/mnt/project/classes'
|
||||
)
|
||||
command+=(
|
||||
--env TMT_TEST_DATA="/mnt/tmt/${test_data}"
|
||||
--env TMT_TREE="/mnt/tmt/tree"
|
||||
"${JP_VALIDATOR_IMAGE}" org.fedoraproject.javapackages.validator.MainTmt -x
|
||||
-f '/mnt/test-artifacts/'
|
||||
)
|
||||
[ -n "${JP_VALIDATOR_SOURCE_PATH}" ] && command+=(
|
||||
-sp '/mnt/project/src' -d '/mnt/project/classes'
|
||||
)
|
||||
command+=(${JP_VALIDATOR_ARGS})
|
||||
|
||||
exec "${command[@]}"
|
||||
46
main.fmf
46
main.fmf
|
|
@ -1,5 +1,11 @@
|
|||
summary: Javapackages-validator tests
|
||||
contact:
|
||||
- Marian Koncek <mkoncek@redhat.com>
|
||||
description: |
|
||||
This test executes a series of tests checking for various aspects of the Java package.
|
||||
This includes packaging guidelines compliance, package sanity and various regressions.
|
||||
tier: 0
|
||||
framework: shell
|
||||
require:
|
||||
- bash
|
||||
- podman
|
||||
|
|
@ -8,39 +14,13 @@ environment:
|
|||
JP_VALIDATOR_IMAGE: quay.io/fedora-java/javapackages-validator:2
|
||||
JP_VALIDATOR_SOURCE_PATH: src
|
||||
JP_VALIDATOR_OUTPUT_DIR: ""
|
||||
JP_VALIDATOR_ARGS: ""
|
||||
JP_VALIDATOR_ARGS: org.fedoraproject.javapackages.validator.validators.jp.ValidatorFactoryJP
|
||||
result: custom
|
||||
test: |
|
||||
set -eux
|
||||
tmt_root="${TMT_TREE%/tree}"
|
||||
test_data="${TMT_TEST_DATA##"${tmt_root}"/}"
|
||||
|
||||
# Fails with CI which uses a local image
|
||||
if echo "${JP_VALIDATOR_IMAGE}" | grep -q '/'; then
|
||||
podman pull "${JP_VALIDATOR_IMAGE}" || sleep 10
|
||||
fi
|
||||
|
||||
command=(podman run --rm --security-opt='label=disable'
|
||||
--mount type=bind,source="${TEST_ARTIFACTS}",target='/mnt/test-artifacts/',readonly
|
||||
--mount type=bind,source="${tmt_root}",target='/mnt/tmt/'
|
||||
)
|
||||
[ -n "${JP_VALIDATOR_SOURCE_PATH}" ] && command+=(
|
||||
--mount type=bind,source="${JP_VALIDATOR_SOURCE_PATH}",target='/mnt/project/src',readonly
|
||||
)
|
||||
[ -n "${JP_VALIDATOR_OUTPUT_DIR}" ] && command+=(
|
||||
--mount type=bind,source="${JP_VALIDATOR_OUTPUT_DIR}",target='/mnt/project/classes'
|
||||
)
|
||||
command+=(
|
||||
--env TMT_TEST_DATA="/mnt/tmt/${test_data}"
|
||||
--env TMT_TREE="/mnt/tmt/tree"
|
||||
"${JP_VALIDATOR_IMAGE}" org.fedoraproject.javapackages.validator.MainTmt -x
|
||||
-f '/mnt/test-artifacts/'
|
||||
)
|
||||
[ -n "${JP_VALIDATOR_SOURCE_PATH}" ] && command+=(
|
||||
-sp '/mnt/project/src' -d '/mnt/project/classes'
|
||||
)
|
||||
command+=(${JP_VALIDATOR_ARGS})
|
||||
|
||||
exec "${command[@]}"
|
||||
test: exec ./javapackages.sh
|
||||
|
||||
/javapackages-validator:
|
||||
adjust:
|
||||
when: jpv_flavor==vanilla
|
||||
environment+:
|
||||
JP_VALIDATOR_SOURCE_PATH: ""
|
||||
JP_VALIDATOR_ARGS: ""
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public class FilesValidatorJP extends FilesValidator {
|
|||
prefixes.put("jansi", List.of(Prefix.USR_LIB_BUILD_ID));
|
||||
prefixes.put("javacc", List.of(Prefix.USR_BIN));
|
||||
prefixes.put("java_cup", List.of(Prefix.USR_BIN));
|
||||
prefixes.put("javapackages-bootstrap", List.of("/usr/lib/java/javapackages-bootstrap", "/usr/lib/rpm", "/etc/rpm", "/usr/libexec/javapackages-bootstrap"));
|
||||
prefixes.put("javapackages-bootstrap", List.of("/usr/lib/java/javapackages-bootstrap", "/usr/lib/javapackages-bootstrap", "/usr/lib/rpm", "/etc/rpm", "/usr/libexec/javapackages-bootstrap"));
|
||||
prefixes.put("javapackages-tools", List.of(Prefix.USR_BIN, "/usr/share/xmvn/conf", "/usr/lib/rpm", "/usr/share/java-utils/", "/usr/lib/eclipse", "/usr/share/eclipse", "/etc/java", "/etc/jvm", "/usr/lib/java", "/usr/lib/jvm", "/etc/ivy", "/etc/ant.d"));
|
||||
prefixes.put("jflex", List.of(Prefix.USR_BIN));
|
||||
prefixes.put("maven", List.of(Prefix.ETC));
|
||||
|
|
|
|||
|
|
@ -4,12 +4,16 @@ import java.util.List;
|
|||
|
||||
import org.fedoraproject.javapackages.validator.spi.Validator;
|
||||
import org.fedoraproject.javapackages.validator.spi.ValidatorFactory;
|
||||
import org.fedoraproject.javapackages.validator.validators.NoBootstrapValidator;
|
||||
import org.fedoraproject.javapackages.validator.validators.*;
|
||||
|
||||
public class ValidatorFactoryJP implements ValidatorFactory {
|
||||
@Override
|
||||
public List<Validator> getValidators() {
|
||||
return List.of(new Validator[] {
|
||||
new AttributeProvidesValidator(),
|
||||
new JavadocNoarchValidator(),
|
||||
new JavaExclusiveArchValidator(),
|
||||
new MavenMetadataValidator(),
|
||||
new NoBootstrapValidator(),
|
||||
new BytecodeVersionJarValidatorJP(),
|
||||
new DuplicateFileValidatorJP(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue