1
0
mirror of https://github.com/google/nomulus synced 2026-03-25 11:55:22 +00:00

Compare commits

..

2 Commits

Author SHA1 Message Date
Weimin Yu
8c9b38e6af Include fee:class in all Fee-1.0 responses (#2987)
Previously we omit the fee class in responses if the class is standard.

After a rereading of Section 3.7 of RFC 8748, we determined that the fee
class element should be included in all cases.

Note: the `collison` class now becomes `standard-collision`.
2026-03-24 14:39:16 +00:00
Weimin Yu
e5c0c27458 Prepare for Gradle 9 upgrade (#2985)
Refactor Gradle scripts to replace usages incompatible with Gradle 9.

PR prepared mostly with gemini-cli, with one issue (project.exec)
researched with gemini web and manually applied.

The actual upgrade to Gradle 9 will be in another PR.

Verified: none of the issues reported in build/reports/problems/problems-report.html
is related to Gradle 9.
2026-03-20 14:15:12 +00:00
29 changed files with 168 additions and 46 deletions

View File

@@ -153,7 +153,7 @@ allprojects {
if (!mavenUrl.isEmpty()) {
maven {
println "Java dependencies: Using repo ${mavenUrl}..."
url mavenUrl
url = mavenUrl
allowInsecureProtocol = allowInsecure == "true"
}
} else {
@@ -161,7 +161,7 @@ allprojects {
mavenCentral()
google()
maven {
url "https://packages.confluent.io/maven/"
url = "https://packages.confluent.io/maven/"
content {
includeGroup "io.confluent"
}
@@ -291,7 +291,7 @@ subprojects {
// We do seem to get duplicates when constructing uber-jars, either
// this is a product of something in gradle 7 or a product of gradle 7
// now giving an error about them when it didn't previously.
duplicatesStrategy DuplicatesStrategy.WARN
duplicatesStrategy = DuplicatesStrategy.WARN
}
}
@@ -341,8 +341,10 @@ subprojects {
// search for `flex-template-base-image` and update the parameter value.
// There are at least two instances, one in core/build.gradle, one in
// release/stage_beam_pipeline.sh
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
project.tasks.test.dependsOn runPresubmits
@@ -369,11 +371,16 @@ subprojects {
// No need to produce javadoc for the jetty subproject, which has no APIs to
// expose to users.
if (project.name != 'jetty') {
if (project.name != 'jetty' && !services.contains(project.path)) {
javadocSource << project.sourceSets.main.allJava
javadocClasspath << project.sourceSets.main.runtimeClasspath
javadocClasspath << { project.sourceSets.main.runtimeClasspath.files }
javadocClasspath << "${buildDir}/generated/sources/annotationProcessor/java/main"
javadocDependentTasks << project.tasks.compileJava
if (project.tasks.findByName('compileJava')) {
javadocDependentTasks << project.tasks.compileJava
}
if (project.tasks.findByName('processResources')) {
javadocDependentTasks << project.tasks.processResources
}
}
}

View File

@@ -108,7 +108,15 @@ configurations {
// Published jars that are used for server/schema compatibility tests.
// See <a href="../integration/README.md">the integration project</a>
// for details.
nomulus_test
nomulus_test {
canBeConsumed = true
canBeResolved = false
}
testRuntimeElements {
canBeConsumed = true
canBeResolved = false
extendsFrom testRuntimeOnly
}
// Exclude non-canonical servlet-api jars. Our deployment uses
// javax.servlet:servlet-api:2.5
@@ -339,7 +347,7 @@ task jaxbToJava {
destdir: "${generatedDir}",
binding: "${xjcTempSourceDir}/bindings.xjb",
removeOldOutput: 'yes', extension: 'true') {
project.fileTree(
fileTree(
dir: new File("$xjcTempSourceDir"),
include: ['**/*.xsd'])
.addToAntBuilder(ant, 'schema', FileCollection.AntType.FileSet)
@@ -377,13 +385,13 @@ task soyToJava {
}
ext.soyToJava = { javaPackage, outputDirectory, soyFiles ->
javaexec {
main = "com.google.template.soy.SoyParseInfoGenerator"
classpath configurations.soy
args "--javaPackage", "${javaPackage}",
project.services.get(ExecOperations).javaexec {
mainClass = "com.google.template.soy.SoyParseInfoGenerator"
classpath = configurations.soy
args = ["--javaPackage", "${javaPackage}",
"--outputDirectory", "${outputDirectory}",
"--javaClassNameSource", "filename",
"--srcs", "${soyFiles.join(',')}"
"--srcs", "${soyFiles.join(',')}"]
}
// Replace the "@link" tags after the "@deprecated" tags in the generated
@@ -397,8 +405,8 @@ task soyToJava {
}
outputs.each { file ->
exec {
commandLine 'sed', '-i""', '-e', 's/@link/LINK/g', file.getCanonicalPath()
project.services.get(ExecOperations).exec {
commandLine = ['sed', '-i""', '-e', 's/@link/LINK/g', file.getCanonicalPath()]
}
}
}
@@ -429,12 +437,12 @@ task testJar(type: Jar) {
}
artifacts {
testRuntimeOnly testJar
add('testRuntimeElements', testJar)
}
task findGoldenImages(type: JavaExec) {
classpath = sourceSets.test.runtimeClasspath
main = 'google.registry.webdriver.GoldenImageFinder'
mainClass = 'google.registry.webdriver.GoldenImageFinder'
def arguments = []
arguments << "--screenshots_for_goldens_dir=${screenshotsForGoldensDir}"
@@ -481,11 +489,11 @@ Optional<List<String>> getToolArgsList() {
// parameter.
ext.createToolTask = {
taskName,
mainClass,
mainClassName,
sourceSet = sourceSets.main ->
project.tasks.create(taskName, JavaExec) {
classpath = sourceSet.runtimeClasspath
main = mainClass
mainClass = mainClassName
doFirst {
getToolArgsList().ifPresent {
@@ -502,7 +510,7 @@ createToolTask(
project.tasks.create('generateSqlSchema', JavaExec) {
classpath = sourceSets.nonprod.runtimeClasspath
main = 'google.registry.tools.DevTool'
mainClass = 'google.registry.tools.DevTool'
args = [
'-e', 'alpha',
'generate_sql_schema', '--start_postgresql', '-o',
@@ -515,7 +523,7 @@ task generateGoldenImages(type: FilteringTest) {
tests = ["**/webdriver/*"]
// Sets the maximum number of test executors that may exist at the same time.
maxParallelForks 5
maxParallelForks = 5
systemProperty 'test.screenshot.dir', screenshotsForGoldensDir
systemProperty 'test.screenshot.runAllAttempts', 'true'
@@ -659,7 +667,7 @@ artifacts {
}
task runTestServer(type: JavaExec) {
main = 'google.registry.server.RegistryTestServerMain'
mainClass = 'google.registry.server.RegistryTestServerMain'
classpath = sourceSets.test.runtimeClasspath
dependsOn(rootProject.project('console-webapp').tasks.named('buildConsoleWebapp'))
}
@@ -685,6 +693,8 @@ abstract class FilteringTest extends Test {
FilteringTest() {
useJUnitPlatform();
testClassesDirs = project.sourceSets.test.output.classesDirs
classpath = project.sourceSets.test.runtimeClasspath
}
private void applyTestFilter() {
@@ -739,7 +749,7 @@ task fragileTest(type: FilteringTest) {
}
// Run every test class in a freshly started process.
forkEvery 1
forkEvery = 1
doFirst {
new File(screenshotsDir).deleteDir()
@@ -754,6 +764,9 @@ task sqlIntegrationTest(type: FilteringTest) {
useJUnit()
excludeTestCases = false
tests = ['google/registry/schema/integration/SqlIntegrationTestSuite.*']
testClassesDirs = sourceSets.test.output.classesDirs
classpath = sourceSets.test.runtimeClasspath
}
// Verifies that RegistryTool can be instantiated:
@@ -779,13 +792,13 @@ task standardTest(type: FilteringTest) {
// Run every test class in its own process.
// Uncomment to unblock build while troubleshooting inexplicable test errors.
// This setting makes the build take 35 minutes, without it it takes about 10.
// forkEvery 1
// forkEvery = 1
// Sets the maximum number of test executors that may exist at the same time.
// Also, Gradle executes tests in 1 thread and some of our test infrastructures
// depend on that, e.g. DualDatabaseTestInvocationContextProvider injects
// different implementation of TransactionManager into TransactionManagerFactory.
maxParallelForks 64
maxParallelForks = 64
systemProperty 'test.projectRoot', rootProject.projectRootDir
systemProperty 'test.resourcesDir', resourcesDir

View File

@@ -88,6 +88,7 @@ import google.registry.model.domain.fee.FeeQueryCommandExtensionItem;
import google.registry.model.domain.fee.FeeQueryResponseExtensionItem;
import google.registry.model.domain.fee.FeeTransformCommandExtension;
import google.registry.model.domain.fee.FeeTransformResponseExtension;
import google.registry.model.domain.feestdv1.FeeCheckResponseExtensionItemStdV1;
import google.registry.model.domain.launch.LaunchCreateExtension;
import google.registry.model.domain.launch.LaunchExtension;
import google.registry.model.domain.launch.LaunchNotice;
@@ -683,12 +684,15 @@ public class DomainFlowUtils {
tld.getTldState(now).equals(START_DATE_SUNRISE)
&& getReservationTypes(domainName).contains(NAME_COLLISION);
boolean isPremium = fees.stream().anyMatch(BaseFee::isPremium);
boolean isFeeStdV1 = builder instanceof FeeCheckResponseExtensionItemStdV1.Builder;
String standardFee = isFeeStdV1 ? "standard" : null;
feeClass =
emptyToNull(
Joiner.on('-')
.skipNulls()
.join(
isPremium ? "premium" : null, isNameCollisionInSunrise ? "collision" : null));
isPremium ? "premium" : standardFee,
isNameCollisionInSunrise ? "collision" : null));
}
builder.setClass(feeClass);

View File

@@ -536,7 +536,7 @@ class DomainCheckFlowTest extends ResourceCheckFlowTestCase<DomainCheckFlow, Dom
.put("COST_1YR", "7.23")
.put("COST_2YR", "13.34")
.put("COST_5YR", "46.34")
.put("FEE_CLASS", "")
.put("FEE_CLASS", "<fee:class>standard</fee:class>")
.build()));
}

View File

@@ -27,6 +27,7 @@
<fee:currency>USD</fee:currency>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">0.00</fee:fee>

View File

@@ -25,6 +25,7 @@
<fee:currency>USD</fee:currency>
<fee:cd>
<fee:objID>example2.example</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">6.50</fee:fee>
@@ -32,6 +33,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">6.50</fee:fee>
@@ -54,6 +56,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -61,6 +64,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example2.example</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -68,6 +72,7 @@
</fee:cd>
<fee:cd>
<fee:objID>reserved.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>

View File

@@ -48,6 +48,7 @@
</fee:cd>
<fee:cd>
<fee:objID>specificuse.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">13.00</fee:fee>

View File

@@ -22,6 +22,7 @@
<fee:currency>USD</fee:currency>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">13.00</fee:fee>
@@ -30,6 +31,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example2.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">13.00</fee:fee>
@@ -38,6 +40,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example3.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">13.00</fee:fee>

View File

@@ -15,6 +15,7 @@
<fee:currency>USD</fee:currency>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">11.10</fee:fee>

View File

@@ -15,6 +15,7 @@
<fee:currency>USD</fee:currency>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">11.70</fee:fee>
@@ -22,6 +23,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -29,6 +31,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="transfer">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -36,6 +39,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -43,6 +47,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="update">
<fee:period unit="y">1</fee:period>
<fee:fee description="update">0.00</fee:fee>

View File

@@ -15,6 +15,7 @@
<fee:currency>USD</fee:currency>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">6.50</fee:fee>
@@ -22,6 +23,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -29,6 +31,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="transfer">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -36,6 +39,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -43,6 +47,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="update">
<fee:period unit="y">1</fee:period>
<fee:fee description="update">0.00</fee:fee>

View File

@@ -15,6 +15,7 @@
<fee:currency>USD</fee:currency>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">13.00</fee:fee>
@@ -22,6 +23,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -29,6 +31,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="transfer">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -36,6 +39,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -43,6 +47,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="update">
<fee:period unit="y">1</fee:period>
<fee:fee description="update">0.00</fee:fee>

View File

@@ -39,6 +39,7 @@
</fee:cd>
<fee:cd>
<fee:objID>rich.example</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -46,6 +47,7 @@
</fee:cd>
<fee:cd>
<fee:objID>rich.example</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="update">
<fee:period unit="y">1</fee:period>
<fee:fee description="update">0.00</fee:fee>

View File

@@ -16,6 +16,7 @@
<fee:currency>USD</fee:currency>
<fee:cd>
<fee:objID>rich.example</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">%RENEWPRICE%</fee:fee>

View File

@@ -49,6 +49,7 @@
</fee:cd>
<fee:cd>
<fee:objID>rich.example</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="update">
<fee:period unit="y">1</fee:period>
<fee:fee description="update">0.00</fee:fee>

View File

@@ -35,6 +35,7 @@
</fee:cd>
<fee:cd>
<fee:objID>reserved.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -42,6 +43,7 @@
</fee:cd>
<fee:cd>
<fee:objID>reserved.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="transfer">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -49,6 +51,7 @@
</fee:cd>
<fee:cd>
<fee:objID>reserved.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -63,6 +66,7 @@
</fee:cd>
<fee:cd>
<fee:objID>allowedinsunrise.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -70,6 +74,7 @@
</fee:cd>
<fee:cd>
<fee:objID>allowedinsunrise.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="transfer">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -77,6 +82,7 @@
</fee:cd>
<fee:cd>
<fee:objID>allowedinsunrise.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -107,6 +113,7 @@
</fee:cd>
<fee:cd>
<fee:objID>premiumcollision.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>

View File

@@ -35,6 +35,7 @@
</fee:cd>
<fee:cd>
<fee:objID>reserved.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -42,6 +43,7 @@
</fee:cd>
<fee:cd>
<fee:objID>reserved.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="transfer">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -49,6 +51,7 @@
</fee:cd>
<fee:cd>
<fee:objID>reserved.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -63,6 +66,7 @@
</fee:cd>
<fee:cd>
<fee:objID>allowedinsunrise.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -70,6 +74,7 @@
</fee:cd>
<fee:cd>
<fee:objID>allowedinsunrise.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="transfer">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -77,6 +82,7 @@
</fee:cd>
<fee:cd>
<fee:objID>allowedinsunrise.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -91,6 +97,7 @@
</fee:cd>
<fee:cd>
<fee:objID>collision.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -98,6 +105,7 @@
</fee:cd>
<fee:cd>
<fee:objID>collision.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="transfer">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -105,6 +113,7 @@
</fee:cd>
<fee:cd>
<fee:objID>collision.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -135,6 +144,7 @@
</fee:cd>
<fee:cd>
<fee:objID>premiumcollision.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>

View File

@@ -32,6 +32,7 @@
</fee:cd>
<fee:cd>
<fee:objID>reserved.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -39,6 +40,7 @@
</fee:cd>
<fee:cd>
<fee:objID>reserved.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="transfer">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -46,6 +48,7 @@
</fee:cd>
<fee:cd>
<fee:objID>reserved.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -53,6 +56,7 @@
</fee:cd>
<fee:cd>
<fee:objID>allowedinsunrise.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">11.05</fee:fee>
@@ -60,6 +64,7 @@
</fee:cd>
<fee:cd>
<fee:objID>allowedinsunrise.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -67,6 +72,7 @@
</fee:cd>
<fee:cd>
<fee:objID>allowedinsunrise.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="transfer">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -74,6 +80,7 @@
</fee:cd>
<fee:cd>
<fee:objID>allowedinsunrise.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -81,7 +88,7 @@
</fee:cd>
<fee:cd>
<fee:objID>collision.tld</fee:objID>
<fee:class>collision</fee:class>
<fee:class>standard-collision</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">11.05</fee:fee>
@@ -89,7 +96,7 @@
</fee:cd>
<fee:cd>
<fee:objID>collision.tld</fee:objID>
<fee:class>collision</fee:class>
<fee:class>standard-collision</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -97,7 +104,7 @@
</fee:cd>
<fee:cd>
<fee:objID>collision.tld</fee:objID>
<fee:class>collision</fee:class>
<fee:class>standard-collision</fee:class>
<fee:command name="transfer">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
@@ -105,7 +112,7 @@
</fee:cd>
<fee:cd>
<fee:objID>collision.tld</fee:objID>
<fee:class>collision</fee:class>
<fee:class>standard-collision</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -137,7 +144,7 @@
</fee:cd>
<fee:cd>
<fee:objID>premiumcollision.tld</fee:objID>
<fee:class>collision</fee:class>
<fee:class>standard-collision</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>

View File

@@ -22,6 +22,7 @@
<fee:currency>USD</fee:currency>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">6.50</fee:fee>
@@ -29,6 +30,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example2.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">6.50</fee:fee>
@@ -36,6 +38,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example3.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">6.50</fee:fee>

View File

@@ -24,6 +24,7 @@
</fee:cd>
<fee:cd>
<fee:objID>rich.example</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">%RENEWPRICE%</fee:fee>
@@ -31,6 +32,7 @@
</fee:cd>
<fee:cd>
<fee:objID>rich.example</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="transfer">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">%RENEWPRICE%</fee:fee>
@@ -38,6 +40,7 @@
</fee:cd>
<fee:cd>
<fee:objID>rich.example</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -45,6 +48,7 @@
</fee:cd>
<fee:cd>
<fee:objID>rich.example</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="update">
<fee:period unit="y">1</fee:period>
<fee:fee description="update">0.00</fee:fee>

View File

@@ -16,6 +16,7 @@
<fee:currency>USD</fee:currency>
<fee:cd>
<fee:objID>rich.example</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="renew">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">%RENEWPRICE%</fee:fee>

View File

@@ -16,6 +16,7 @@
<fee:currency>USD</fee:currency>
<fee:cd>
<fee:objID>rich.example</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="transfer">
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">%RENEWPRICE%</fee:fee>

View File

@@ -22,6 +22,7 @@
<fee:currency>USD</fee:currency>
<fee:cd>
<fee:objID>example1.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">13.00</fee:fee>
@@ -29,6 +30,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example2.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">13.00</fee:fee>
@@ -36,6 +38,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example3.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="create">
<fee:period unit="y">1</fee:period>
<fee:fee description="create">13.00</fee:fee>

View File

@@ -131,6 +131,7 @@
<fee:currency>USD</fee:currency>
<fee:cd>
<fee:objID>example-00.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -138,6 +139,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-01.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -146,6 +148,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-02.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -154,6 +157,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-03.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -162,6 +166,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-04.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -170,6 +175,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-05.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -178,6 +184,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-06.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -186,6 +193,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-07.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -194,6 +202,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-08.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -202,6 +211,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-09.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -210,6 +220,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-10.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -218,6 +229,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-11.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -226,6 +238,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-12.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -234,6 +247,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-13.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -242,6 +256,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-14.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -250,6 +265,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-15.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -258,6 +274,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-16.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -266,6 +283,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-17.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -274,6 +292,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-18.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -282,6 +301,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-19.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -290,6 +310,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-20.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -298,6 +319,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-21.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -306,6 +328,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-22.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -314,6 +337,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-23.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -322,6 +346,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-24.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -330,6 +355,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-25.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -338,6 +364,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-26.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -346,6 +373,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-27.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -354,6 +382,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-28.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>
@@ -362,6 +391,7 @@
</fee:cd>
<fee:cd>
<fee:objID>example-29.tld</fee:objID>
<fee:class>standard</fee:class>
<fee:command name="restore">
<fee:period unit="y">1</fee:period>
<fee:fee description="restore">17.00</fee:fee>

View File

@@ -19,7 +19,7 @@
buildscript {
repositories {
maven {
url 'https://plugins.gradle.org/m2/'
url = 'https://plugins.gradle.org/m2/'
}
}
dependencies {

View File

@@ -56,12 +56,14 @@ task testJar(type: Jar) {
from sourceSets.test.output
}
artifacts {
testRuntimeOnly testJar
}
configurations {
testRuntimeOnly {
testRuntimeElements {
canBeConsumed = true
canBeResolved = false
extendsFrom testRuntimeOnly
}
}
artifacts {
add('testRuntimeElements', testJar)
}

View File

@@ -55,7 +55,7 @@ dependencies {
testImplementation deps['org.mockito:mockito-core']
testImplementation deps['org.testcontainers:junit-jupiter']
testImplementation project(path: ':common', configuration: 'testing')
testImplementation project(path: ':networking', configuration: 'testRuntimeOnly')
testImplementation project(path: ':networking', configuration: 'testRuntimeElements')
// Include auto-value in compile until nebula-lint understands
// annotationProcessor

View File

@@ -83,7 +83,7 @@ dependencies {
testImplementation deps['org.testcontainers:junit-jupiter']
testImplementation deps['org.yaml:snakeyaml']
testImplementation project(path: ':common', configuration: 'testing')
testImplementation project(path: ':networking', configuration: 'testRuntimeOnly')
testImplementation project(path: ':networking', configuration: 'testRuntimeElements')
// Include auto-value in compile until nebula-lint understands
// annotationProcessor

View File

@@ -18,10 +18,10 @@ rootProject.ext {
// to stdout as a string. This method allows pipes in shell command.
execInBash = { shellCommand, bashWorkingDir ->
return new ByteArrayOutputStream().withStream { os ->
exec {
workingDir bashWorkingDir
commandLine 'bash', '-c', "${shellCommand}"
standardOutput os
project.services.get(ExecOperations).exec {
workingDir = bashWorkingDir
commandLine = ['bash', '-c', "${shellCommand}"]
standardOutput = os
}.assertNormalExitValue()
return os
}.toString().trim()