licenseHeader.content gets the © symbol turned to ?? in CI, but not locally
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- java
- Área
- build-system, ci-cd
Línea de trabajo
Comienza comparando la configuración de Spotless del POM y el entorno de CI mientras se ejecuta el objetivo spotless:check de Maven. Inspecciona la salida reportada de src/test/java/com/uuu/ccc/common/test/util/TransformTest.java y la configuración de depuración; después, verifica que el encabezado de licencia © siga siendo coherente localmente y en CI.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When I run the spotless maven plugin check goal locally, it goes through fine. But in CI, specifically Jenkins, I always get errors:
[ERROR] Failed to execute goal com.diffplug.spotless:spotless-maven-plugin:2.43.0:check (default) on project ccc-reuse: The following files had format violations:
[ERROR] src/test/java/com/uuu/ccc/common/test/util/TransformTest.java
[ERROR] @@ -2,7 +2,7 @@
[ERROR] ·*·OCO·Source·Materials
[ERROR] -·*·©·Copyright·UUU·2008-2024.·All·Rights·Reserved.
[ERROR] +·*·??·Copyright·UUU·5655.·All·Rights·Reserved.
If I replace the © in licenseHeader.content with © - it behaves the same, just that it turns the symbol into a single ? instead of two.
I understand that this is some environment issue, but looking at it - the maven versions are the same, java versions the same. LANG, LC_ALL, LANGUAGE variables are the same.
Running maven with -X it also shows that it reads the pom like that in CI:
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal: com.diffplug.spotless:spotless-maven-plugin:2.43.0:check (default)
[DEBUG] Style: Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
<applySkip default-value="false">${spotless.apply.skip}</applySkip>
<baseDir default-value="${project.basedir}"/>
<buildDir default-value="${project.build.directory}"/>
<checkSkip default-value="false">${spotless.check.skip}</checkSkip>
<encoding default-value="UTF-8">UTF-8</encoding>
<filePatterns>${spotlessFiles}</filePatterns>
<goal default-value="${mojoExecution.goal}"/>
<java>
<palantirJavaFormat/>
</java>
<licenseHeader>
<content>/*******************************************************************************
* OCO Source Materials
* ? Copyright UUU $YEAR. All Rights Reserved.
*
* The source code for this program is not published or otherwise
* divested of its trade secrets, irrespective of what has
* been deposited with the U.S. Copyright Office.
*******************************************************************************/</content>
<delimiter>(/(/|\*{1,2}[^*])|package|import|public|final|abstract|class|enum|interface)</delimiter>
</licenseHeader>
<lineEndings default-value="GIT_ATTRIBUTES_FAST_ALLSAME"/>
<project default-value="${project}"/>
<repositories default-value="${project.remotePluginRepositories}"/>
<repositorySystemSession default-value="${repositorySystemSession}"/>
<setLicenseHeaderYearsFromGitHistory>${spotlessSetLicenseHeaderYearsFromGitHistory}</setLicenseHeaderYearsFromGitHistory>
<skip default-value="false">${spotless.skip}</skip>
</configuration>
but it shows up properly when run locally. I tried adding the UTF8 BOM to the POM, but it didn't help. Otherwise it is UTF8 encoded.
Maven 3.9.9. Spotless 2.43.0.
CI is running in a Ubuntu 24.04.1 LTS docker container running on a CentOS Stream 8 host.
Does anyone have any ideas what could be the issue here?
Spotless configuration:
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<configuration>
<java>
<palantirJavaFormat/>
</java>
<licenseHeader>
<content>
/*******************************************************************************
* OCO Source Materials
* © Copyright UUU $YEAR. All Rights Reserved.
*
* The source code for this program is not published or otherwise
* divested of its trade secrets, irrespective of what has
* been deposited with the U.S. Copyright Office.
*******************************************************************************/
</content>
<delimiter>(/(/|\*{1,2}[^*])|package|import|public|final|abstract|class|enum|interface)</delimiter>
</licenseHeader>
<encoding>UTF-8</encoding>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
<phase>compile</phase>
</execution>
</executions>
</plugin>
</plugins>
- summary of problem
- Gradle or Maven version
- spotless version
- operating system and version
- copy-paste your full Spotless configuration block(s), and a link to a public git repo that reproduces the problem if possible
- copy-paste the full content of any console errors emitted by
gradlew spotless[Apply/Check] --stacktrace
- Lenguaje dominante
- Java
- Estrellas
- 5.7k
- Forks
- 560
- Merge medio
- 1 d 13 h
- PR fusionados (30 d)
- 43
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de diffplug/spotless
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 66/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
Todos los issues de diffplug/spotless
Issues similares
-
certification
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
[BUG] ECR GetAuthorizationToken returns a proxyEndpoint for the default region, not the request's Abiertobug ecr
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Needs: Triage Type: Feature request
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
AntennaPod/AntennaPod#8794 ·
-
agentic-workflows
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
github/copilot-sdk#2760 ·