eddarmitage / slugger Goto Github PK
View Code? Open in Web Editor NEWA Java library for creating nice URL Slugs
License: Apache License 2.0
A Java library for creating nice URL Slugs
License: Apache License 2.0
Travis?
CircleCI?
Syntax colouring on the examples, etc
E.g. replace é
with e
There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.
Error type: undefined. Note: this is a nested preset so please contact the preset author if you are unable to fix it yourself.
Should just be a case of populating the field:
diff --git a/.github/workflows/release-workflow.yml b/.github/workflows/release-workflow.yml
index ebcf326..df4b196 100644
--- a/.github/workflows/release-workflow.yml
+++ b/.github/workflows/release-workflow.yml
@@ -23,6 +23,7 @@ jobs:
- name: Perform release
uses: cycjimmy/semantic-release-action@v2
with:
+ semantic_release: 17.0.4
extra_plugins: |
@semantic-release/changelog
@semantic-release/exec
Seems like semantic-release plugin uses lightweight git tags, and the version plugin requires annotated tags.
This is a requirement for publishing to maven central: http://maven.apache.org/repository/guide-central-repository-upload.html
See guide here but we should probably use a default, widely-used example, such as the Contributor Covenant. Further guidance can be found here
Additionally, this should be linked-to or mentioned in the following places:
We can use a lot of renovate presets to avoid manual configuration, ensure config remains valid going forward, and make the config more readable.
When you run ./gradlew tasks
, the cucumber
task should be listed as a "Verification task" - at present that section is as follows:
Verification tasks
------------------
check - Runs all checks.
jacocoTestCoverageVerification - Verifies code coverage metrics based on specified rules for the test task.
jacocoTestReport - Generates code coverage report for the test task.
test - Runs the unit tests.
Using something like Checkstyle or Spotless?
This is a requirement for publishing to maven central: http://maven.apache.org/repository/guide-central-repository-upload.html
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
io.cucumber:cucumber-picocontainer
, io.cucumber:cucumber-java
).github/workflows/pull-request-workflow.yml
actions/checkout v2
actions/setup-java v1
.github/workflows/release-workflow.yml
actions/checkout v2
actions/setup-java v1
benjefferies/branch-protection-bot v1.1.2
cycjimmy/semantic-release-action v2
benjefferies/branch-protection-bot v1.1.2
settings.gradle
build.gradle
com.github.kt3k.coveralls 2.12.2
com.palantir.git-version 0.13.0
com.jfrog.bintray 1.8.5
org.junit:junit-bom 5.10.3
org.assertj:assertj-core 3.26.3
io.cucumber:cucumber-java 7.18.0
io.cucumber:cucumber-picocontainer 7.18.0
org.assertj:assertj-core 3.26.3
gradle/cucumber.gradle
gradle/publish.gradle
gradle/test-reports.gradle
gradle/wrapper/gradle-wrapper.properties
gradle 7.6.4
Don't need things like maven, or sbt any more, and probably others too.
This implements the deprecated TypeRegistryConfiguration
- the JavaDoc suggests using annotations as-per this example.
Gradle build produces the following:
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.3/userguide/command_line_interface.html#sec:command_line_warnings
Running with warnings shows the following:
> Task :cucumber
The cucumberRuntime configuration has been deprecated for resolution. This will fail with an error in Gradle 7.0. Please resolve the cucumberRuntimeClasspath configuration instead. Consult the upgrading guide for further information: https://docs.gradle.org/6.3/userguide/upgrading_version_5.html#dependencies_should_no_longer_be_declared_using_the_compile_and_runtime_configurations
at cucumber_8i04dacgzksl65vb8pr0yvveh$_run_closure3$_closure6.doCall(/Users/Edd/code/Slugger/gradle/cucumber.gradle:17)
(Run with --stacktrace to get the full stack trace of this deprecation warning.)
I suspect this is because they are built before the tag is applied - perhaps the ./gradlew assemble
step needs to happen as part of the publish
semantic-release phase. Running on a local machine, after the release has been made, produces correctly named jars.
Should describe the currently supported versions, and how to report a vulnerability. A template file can be created from the Security tab on GitHub
Once completed, the output of ./gradlew jar
should be a jar file in build/libs/
called slugger-$VERSION.jar, containing a
META-INF/MANIFEST.MFfile containing an entry
Implementation-Version: $VERSIONwhere
$VERSION` is:
X.Y.Z
if git tag --points-at HEAD
returns vX.Y.Z
X.Y+1.0-SNAPSHOT
if git describe --match "v*" --abbrev=0 --tags $(git rev-list --tags --max-count=1)
returns vX.Y.Z
X.Y.Z+1-SNAPSHOT
if git rev-parse --abbrev-ref HEAD
returns vX.Y-HOTFIX
and git describe --match "v*" --abbrev=0 --tags $(git rev-list --tags --max-count=1)
returns vX.Y.Z
DEV
Before we start publishing to public repositories, we should delete any and all GitHub releases, as-per these instructions, so that the first publicly available release is as close to 1.0.0 as possible.
There are various ways to go about this, but the thinking is that publishing to bintray will make it easier to publish to maven central.
We should create some contribution guidelines, detailing the process of contributing, running the tests, dependency requirements, etc.
A brief summary of the contribution process, linking to the main CONTRIBUTING.md
file, should be included at the bottom of the README.md.
LICENSE currently reads:
Copyright {yyyy} {name of copyright owner}
It should probably say Copyright 2019 Edward Armitage
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.