Let Konsist checks the license header
This commit is contained in:
committed by
Benoit Marty
parent
92db08909c
commit
4047f4395d
@@ -0,0 +1,85 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2024 New Vector Ltd
|
||||||
|
*
|
||||||
|
* Licensed 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package io.element.android.tests.konsist
|
||||||
|
|
||||||
|
import com.lemonappdev.konsist.api.Konsist
|
||||||
|
import com.lemonappdev.konsist.api.verify.assertTrue
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class KonsistLicenseTest {
|
||||||
|
private val publicLicense = """
|
||||||
|
/\*
|
||||||
|
(?:.*\n)* \* Copyright \(c\) 20\d\d New Vector Ltd
|
||||||
|
(?:.*\n)* \*
|
||||||
|
\* Licensed 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
|
||||||
|
\*
|
||||||
|
\* {5}https?://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\.
|
||||||
|
\*/
|
||||||
|
""".trimIndent().toRegex()
|
||||||
|
|
||||||
|
private val enterpriseLicense = """
|
||||||
|
/\*
|
||||||
|
\* © 20\d\d New Vector Limited, Element Software SARL, Element Software Inc\.,
|
||||||
|
\* and Element Software GmbH \(the "Element Group"\) only make this file available
|
||||||
|
\* under a proprietary license model\.
|
||||||
|
\*
|
||||||
|
\* Without a proprietary license with us, you cannot use this file\. The terms of
|
||||||
|
\* the proprietary license agreement between you and any member of the Element Group
|
||||||
|
\* shall always apply to your use of this file\. Unauthorised use, copying, distribution,
|
||||||
|
\* or modification of this file, via any medium, is strictly prohibited\.
|
||||||
|
\*
|
||||||
|
\* For details about the licensing terms, you must either visit our website or contact
|
||||||
|
\* a member of our sales team\.
|
||||||
|
\*/
|
||||||
|
""".trimIndent().toRegex()
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `assert that FOSS files have the correct license header`() {
|
||||||
|
Konsist
|
||||||
|
.scopeFromProject()
|
||||||
|
.files
|
||||||
|
.filter {
|
||||||
|
it.path.contains("/enterprise/features").not() &&
|
||||||
|
it.nameWithExtension != "locales.kt" &&
|
||||||
|
it.name.startsWith("Template ").not()
|
||||||
|
}
|
||||||
|
.assertTrue {
|
||||||
|
publicLicense.containsMatchIn(it.text)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `assert that Enterprise files have the correct license header`() {
|
||||||
|
Konsist
|
||||||
|
.scopeFromProject()
|
||||||
|
.files
|
||||||
|
.filter {
|
||||||
|
it.path.contains("/enterprise/features")
|
||||||
|
}
|
||||||
|
.assertTrue {
|
||||||
|
enterpriseLicense.containsMatchIn(it.text)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -197,9 +197,7 @@ performance:
|
|||||||
# Note: all rules for `comments` are disabled by default, but I put them here to be aware of their existence
|
# Note: all rules for `comments` are disabled by default, but I put them here to be aware of their existence
|
||||||
comments:
|
comments:
|
||||||
AbsentOrWrongFileLicense:
|
AbsentOrWrongFileLicense:
|
||||||
active: true
|
active: false
|
||||||
licenseTemplateFile: 'license.template'
|
|
||||||
licenseTemplateIsRegex: true
|
|
||||||
CommentOverPrivateFunction:
|
CommentOverPrivateFunction:
|
||||||
active: false
|
active: false
|
||||||
CommentOverPrivateProperty:
|
CommentOverPrivateProperty:
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
\/\*
|
|
||||||
(?:.*\n)* \* Copyright \(c\) 20\d\d New Vector Ltd
|
|
||||||
(?:.*\n)* \*
|
|
||||||
\* Licensed 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(?:s)?:\/\/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\.
|
|
||||||
\*\/
|
|
||||||
Reference in New Issue
Block a user