Skip to content

Commit

Permalink
Issue #271: Add new Maven Build
Browse files Browse the repository at this point in the history
* Starting point
* Issue comments show status
* Builds
* Tests
* Builds Javadoc in target/dokkaJavadocJar
* Does not yet have release or pipelines
  • Loading branch information
ALRubinger committed Jul 27, 2024
1 parent b03068d commit 1259fb5
Show file tree
Hide file tree
Showing 4 changed files with 773 additions and 0 deletions.
3 changes: 3 additions & 0 deletions Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,6 @@ test-bound: setup

test-kotlin: setup
cd bound/kt && mvn clean test

test-kotlin-issue-271: setup
cd bound/kt && mvn -f pom-issue-271.xml clean verify
29 changes: 29 additions & 0 deletions bound/kt/.maven_settings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
2<settings>
<servers>
<server>
<id>github</id>
<username>tbd-releases</username>
<password>${env.TBD_RELEASE_GITHUB_PERSONAL_ACCESS_TOKEN}</password>
</server>
<server>
<id>tbd-oss-releases</id>
<username>${env.ARTIFACTORY_USERNAME}</username>
<password>${env.ARTIFACTORY_PASSWORD}</password>
</server>
<server>
<id>tbd-oss-snapshots</id>
<username>${env.ARTIFACTORY_USERNAME}</username>
<password>${env.ARTIFACTORY_PASSWORD}</password>
</server>
<server>
<id>ossrh-snapshots</id>
<username>${env.SONATYPE_USERNAME}</username>
<password>${env.SONATYPE_PASSWORD}</password>
</server>
<server>
<id>ossrh-releases</id>
<username>${env.SONATYPE_USERNAME}</username>
<password>${env.SONATYPE_PASSWORD}</password>
</server>
</servers>
</settings>
176 changes: 176 additions & 0 deletions bound/kt/config/detekt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
config:
# is automatically ignored when custom-checks.jar is on the classpath
# however other CI checks use the argsfile where our plugin is not applied
# we need to care take of this by explicitly allowing this properties
excludes: 'custom-checks.*'

custom-checks:
active: true
SpekTestDiscovery:
active: true
includes: [ '**/test/**/*Spec.kt' ]

comments:
active: true
DeprecatedBlockTag:
active: true
EndOfSentenceFormat:
active: true
endOfSentenceFormat: '([.?!][ \t\n\r\f<])|([.?!:]$)'
UndocumentedPublicClass:
active: true
excludes: [ '**/test/**' ]
searchInNestedClass: true
searchInInnerClass: true
searchInInnerObject: true
searchInInnerInterface: true
searchInProtectedClass: false
UndocumentedPublicFunction:
active: true
excludes: [ '**/test/**' ]
UndocumentedPublicProperty:
active: false
excludes: [ '**/test/**' ]

complexity:
StringLiteralDuplication:
active: true
excludes: [ '**/test/**', '**/*.Test.kt', '**/*.Spec.kt' ]
threshold: 5
ignoreAnnotation: true
excludeStringsWithLessThan5Characters: true
ignoreStringsRegex: '$^'
ComplexInterface:
active: true
threshold: 10
includeStaticDeclarations: false
includePrivateDeclarations: false
CyclomaticComplexMethod:
active: true
ignoreSingleWhenExpression: true
threshold: 25
LongParameterList:
constructorThreshold: 10
MethodOverloading:
active: true

exceptions:
NotImplementedDeclaration:
active: false
InstanceOfCheckForException:
active: true
RethrowCaughtException:
active: true
ReturnFromFinally:
active: true
SwallowedException:
active: true
ThrowingExceptionFromFinally:
active: true
ThrowingExceptionsWithoutMessageOrCause:
active: true
ThrowingNewInstanceOfSameException:
active: true

formatting:
active: true
android: false
autoCorrect: true
Indentation:
indentSize: 2
ParameterListWrapping:
indentSize: 2
MaximumLineLength:
active: true
ImportOrdering:
active: false

naming:
MemberNameEqualsClassName:
active: true
VariableNaming:
active: true
variablePattern: '[a-z][A-Za-z0-9]*'
privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*'
excludeClassPattern: '$^'
PackageNaming:
active: false

performance:
ArrayPrimitive:
active: true

potential-bugs:
EqualsAlwaysReturnsTrueOrFalse:
active: true
InvalidRange:
active: true
IteratorHasNextCallsNextMethod:
active: true
IteratorNotThrowingNoSuchElementException:
active: true
UnsafeCallOnNullableType:
active: true
UnsafeCast:
active: true
excludes: [ '**/test/**', '**/*.Test.kt', '**/*.Spec.kt' ]
UselessPostfixExpression:
active: true
WrongEqualsTypeParameter:
active: true

style:
ClassOrdering:
active: true
CollapsibleIfStatements:
active: true
EqualsNullCall:
active: true
ForbiddenComment:
active: false
FunctionOnlyReturningConstant:
active: true
LoopWithTooManyJumpStatements:
active: true
MaxLineLength:
excludes: [ '**/test/**', '**/*.Test.kt', '**/*.Spec.kt' ]
excludeCommentStatements: true
MagicNumber:
ignoreHashCodeFunction: true
ignorePropertyDeclaration: true
ignoreAnnotation: true
ignoreEnums: true
ignoreNumbers: [ '-1', '0', '1', '2', '100', '1000' ]
MayBeConst:
active: true
NestedClassesVisibility:
active: true
ProtectedMemberInFinalClass:
active: true
RedundantVisibilityModifierRule:
active: false
ReturnCount:
excludeGuardClauses: true
SpacingBetweenPackageAndImports:
active: true
ThrowsCount:
active: false
UnnecessaryAbstractClass:
active: true
UnnecessaryInheritance:
active: true
UnusedPrivateClass:
active: true
UnusedPrivateMember:
active: true
allowedNames: '(_|ignored|expected)'
UseCheckOrError:
active: true
UselessCallOnNotNull:
active: true
UtilityClassWithPublicConstructor:
active: false

TbdRuleset:
JvmOverloadsAnnotationRule:
active: true
Loading

0 comments on commit 1259fb5

Please sign in to comment.