Giter Club home page Giter Club logo

heylogs's People

Contributors

charphi avatar dependabot[bot] avatar koppor avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

koppor

heylogs's Issues

Add unreleased pattern to version filtering

To be able to do something like:

<plugin>
    <groupId>com.github.nbbrd.heylogs</groupId>
    <artifactId>heylogs-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>extract-changelog</id>
            <goals>
                <goal>extract</goal>
            </goals>
            <configuration>
                <ref>${project.version}</ref>
            </configuration>
        </execution>
    </executions>
</plugin>

CLI `check` does not return an error code when problems are found

I installed the CLI on Mac using Homebrew, then tried to run the check subcommand on my faulty file. But, despite it detecting problems, the heylogs process returned a true (0) value:

lace on ๐ŸŒฑ master [$] via ๐Ÿ v3.11.5 on โ˜๏ธ  (us-east-1)
โฏ heylogs check CHANGELOG.md
CHANGELOG.md
  55:1  error  Missing ref link  all-h2-contain-a-version

  1 problem

lace on ๐ŸŒฑ master [$] via ๐Ÿ v3.11.5 on โ˜๏ธ  (us-east-1)
โฏ echo $?
0

(We discovered a similar problem when using the suggested pattern in a GitHub action, i.e.

- uses: jbangdev/[email protected]
  with:
    script: com.github.nbbrd.heylogs:heylogs-cli:_VERSION_:bin
    scriptargs: "check CHANGELOG.md"

does not fail CI if the CHANGELOG.md does not pass the check)

It would be nice for the check command to return an error if the check fails, or if there was an option to cause that behavior (e.g., a CLI option like --exit-with-error-on-errors, but maybe less verbose/clunky)

Check for dots as separation

In case a changelog entry ends with a link, there should be a dot before

Example:

wrong:

We fixed an issue where [...] acquiring a file lock [#10452](https://github.com/JabRef/jabref/issues/10452)

right:

We fixed an issue where [...] acquiring a file lock. [#10452](https://github.com/JabRef/jabref/issues/10452)

Maybe, this rule should be explicitly enabled?

One could also implement it as "consistency" check. Currently, we have it mixed in our CHANGELOG.md -- https://github.com/JabRef/jabref/blob/main/CHANGELOG.md

README.md: GitHub consistency

In the README.md, GitHub is listed twice:

image

Would be one enough? Maybe, you could add some text on recommending a variant in some cases. - For me, even the first is shorter, I would opt for the latter to have more control on the version be used.

Add import/export markdown format from/to json format

Did you find some workaround? If not, maybe, "just" implementing a "toJson()" functionality (as clparse offers) would suffice to support the feature. (clparse -> json -> filter -> dif)

Originally posted by @koppor in #146 (comment)

clparse is another command line tool written in Rust that handles keep-a-changelog format.
It has the ability to export a markown into a json format that can be easily used in scripts.

Having this feature in heylogs would allow more integration with other tools

Switch to JSpecify

I really like that the code has non-null annotations.

There is a long discussion about the "right" null annotation: https://stackoverflow.com/q/4963300/873282

Fortunately, Google, JetBrains, Facebook, Uber and others managed to agree on one annotation: JSpecify. I especially like @NullMarked which indicates that the all nullalbes places have explicitly marked - and all other places are non-null.

I suggest to switch from the JetBrains-focused Nullable annotations to the ones of JSpecify.

New check: Dashes consistent

With #140, the checking for the separators was relaxed. I overlooked "a small thing": Mixed separators are "allowed".

There should be a checker reporting if different dashes are used. The first "valid" heading should "set" the dash and the other headings should use the same dash.

Link check should also work at PR links

Following should rise a check error

## [Unreleased]

* Date is showing the year only. [#13](https://github.com/gi-ev/biblatex-lni/pull/11)

Maybe, it is because the content does not follow CHANGELOG.md rules. However, this should be reported, too.

mvn clean should work

Background: I have some trouble to get this thing compiling in IntelliJ. There, I get the error

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.4.0:enforce (enforce) on project heylogs-cli:
[ERROR] Rule 10: org.codehaus.mojo.extraenforcer.dependencies.EnforceBytecodeVersion failed with message:
[ERROR] Found Banned Dependency: com.github.nbbrd.heylogs:heylogs-api:jar:0.6.1-SNAPSHOT
[ERROR] Use 'mvn dependency:tree' to locate the source of the banned dependencies.

I thought, let's start from scratch and to mvn clean. That action fails, too:

[INFO] heylogs-maven-plugin ............................... SUCCESS [  0.020 s]
[INFO] heylogs-bom ........................................ FAILURE [  0.008 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.378 s
[INFO] Finished at: 2023-09-08T13:34:49+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Plugin com.github.nbbrd.heylogs:heylogs-maven-plugin:0.6.1-SNAPSHOT or one of its dependencies could not be resolved: The following artifacts could not be resolved: com.github.nbbrd.heylogs:heylogs-maven-plugin:jar:0.6.1-SNAPSHOT (absent): Could not find artifact com.github.nbbrd.heylogs:heylogs-maven-plugin:jar:0.6.1-SNAPSHOT -> [Help 1]

I think, it would be good if mvn clean would run without errors.

Check enforcer plugin without cache

I have issues to get this plugin to compile locally

[INFO] Rule 9: org.codehaus.mojo.extraenforcer.dependencies.BanDuplicateClasses passed
[INFO] Adding ignore: module-info
[INFO] Restricted to JDK 8 yet com.github.nbbrd.heylogs:heylogs-api:jar:0.6.1-SNAPSHOT:compile contains nbbrd/heylogs/spi/FormatBatch.class targeted to JDK 9
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for heylogs 0.6.1-SNAPSHOT:
[INFO]
[INFO] heylogs ............................................ SUCCESS [  0.459 s]
[INFO] heylogs-api ........................................ SUCCESS [  6.875 s]
[INFO] heylogs-cli ........................................ FAILURE [  0.276 s]
[INFO] heylogs-maven-plugin ............................... SKIPPED
[INFO] heylogs-bom ........................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  7.790 s
[INFO] Finished at: 2023-09-08T13:36:40+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.4.0:enforce (enforce) on project heylogs-cli:
[ERROR] Rule 10: org.codehaus.mojo.extraenforcer.dependencies.EnforceBytecodeVersion failed with message:
[ERROR] Found Banned Dependency: com.github.nbbrd.heylogs:heylogs-api:jar:0.6.1-SNAPSHOT

The "only" difference between my setup and the setup on GitHub is IMHO the caching.

Could it be possible that com.github.nbbrd.heylogs:heylogs-api:jar:0.6.1-SNAPSHOT is cached on GitHub - and therefore "Rule 10" does not trigger there, but locally here?

Improve extensions points

  • Add extension point for scan formatting
  • Refactor extension points
  • Improve output of errors in check mojo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.