Code Monkey home page Code Monkey logo

codeowners's Introduction

Hi there ๐Ÿ‘‹

I'm Niels Basjes.

I work as an IT-Architect/Inventor at https://www.bol.com where I design new systems that are usually special on some way when it comes to handling data.

I'm also an avid opensource contributor and you'll find patches of me in lots of Apache "BigData" projects. Committer for Apache Flink and Comitter/PMC for Apache Avro.

Niels' github stats

Niels' github stats

codeowners's People

Contributors

nielsbasjes avatar ottlinger avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

stinkylord

codeowners's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

github-actions
.github/workflows/build.yml
  • actions/checkout v4.1.6@a5ac7e51b41094c92402da3b24376905380afc29
  • actions/cache v4.0.2@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9
  • actions/setup-java v4.2.1@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9
  • codecov/codecov-action v4.4.1@125fc84a9a348dbcf27191600683ec096ec9021c
maven
codeowners-reader/pom.xml
  • org.apache.maven.plugins:maven-toolchains-plugin 3.2.0
  • org.eclipse.sisu:sisu-maven-plugin 0.9.0.M2
  • org.apache.maven.plugins:maven-shade-plugin 3.6.0
enforcer/pom.xml
  • javax.inject:javax.inject 1
  • org.apache.maven.plugins:maven-shade-plugin 3.6.0
  • org.eclipse.sisu:sisu-maven-plugin 0.9.0.M2
enforcer/src/it/covered/pom.xml
enforcer/src/it/gitignore/pom.xml
enforcer/src/it/missing/pom.xml
gitignore-reader/pom.xml
  • org.apache.maven.plugins:maven-toolchains-plugin 3.2.0
  • org.eclipse.sisu:sisu-maven-plugin 0.9.0.M2
pom.xml
  • org.antlr:antlr4-maven-plugin 4.13.1
  • org.apache.maven.plugins:maven-surefire-plugin 3.2.5
  • org.apache.maven.enforcer:enforcer-api 3.5.0
  • org.apache.maven:maven-core 3.9.7
  • org.apache.maven.plugins:maven-toolchains-plugin 3.2.0
  • org.apache.maven.plugins:maven-invoker-plugin 3.7.0
  • org.apache.maven.plugins:maven-surefire-plugin 3.2.5
  • org.junit:junit-bom 5.10.2
  • commons-io:commons-io 2.16.1
  • org.slf4j:slf4j-api 1.7.36
  • org.slf4j:slf4j-simple 1.7.36
  • org.apache.maven.plugins:maven-artifact-plugin 3.5.1
  • org.apache.maven.plugins:maven-artifact-plugin 3.5.1
  • org.apache.maven.plugins:maven-gpg-plugin 3.2.4
  • org.apache.maven.plugins:maven-javadoc-plugin 3.7.0
  • org.apache.maven.plugins:maven-deploy-plugin 3.1.2
  • io.github.git-commit-id:git-commit-id-maven-plugin 8.0.2
  • org.apache.maven.plugins:maven-resources-plugin 3.3.1
  • org.apache.maven.plugins:maven-jar-plugin 3.4.1
  • org.apache.maven.plugins:maven-surefire-plugin 3.2.5
  • org.apache.maven.plugins:maven-toolchains-plugin 3.2.0
  • org.apache.maven.plugins:maven-source-plugin 3.3.1
  • org.apache.maven.plugins:maven-clean-plugin 3.3.2
  • org.apache.maven.plugins:maven-enforcer-plugin 3.5.0
  • org.codehaus.mojo:extra-enforcer-rules 1.8.0
  • org.apache.maven.plugins:maven-compiler-plugin 3.13.0
  • io.github.git-commit-id:git-commit-id-maven-plugin 8.0.2
  • org.apache.rat:apache-rat-plugin 0.16.1
  • org.jacoco:jacoco-maven-plugin 0.8.12
  • org.apache.maven.plugins:maven-release-plugin 3.0.1
  • nl.basjes.maven.release:conventional-commits-version-policy 1.0.6
  • org.cyclonedx:cyclonedx-maven-plugin 2.8.0
maven-wrapper
.mvn/wrapper/maven-wrapper.properties
  • maven 3.9.7

  • Check this box to trigger a request for Renovate to run again on this repository

GitLab: `Unsupported escape character: \#`

The library cannot parse the example file provided by GitLab.

It fails with the following error

Unsupported escape character: \#

This seems to be the problem:

# Files with a `#` can still be accessed by escaping the pound sign:
\#file_with_pound.rb @owner-file-with-pound

I know it is explicitly NOT supported by GitHub or Bitbucket, but GitLab officially supports this quirk.

Option to return unsorted Codeowners

Motivation

We are operating a historically grown monorepo where some of the modules are of shared nature. Thus, some modules contain multiple approvers in a CODEOWNERS entry. Nevertheless, the first in the list is still somewhat considered the "main" owner. (As irritating as that might sound.)

[SomeSection]
/module-a/    @foo @bar
/module-b/    @foo @baz

For both of these path specifications @foo is not the first item in the list retrieved with ::getAllApprovers.

Challenge

The CodeOwners implementation does some sorted() calls on the approver streams. I think the "challenging" location is in ::visitApprovalRule.

Would it be feasible to introduce some unsortedApprovers property which could be a tunable like verbose? Then the sorted() calls could take a Comparator which behaves according to the unsortedApprovers property either always returning 0 or perform the string-natural sort as is the default with sorted().

PS: Thanks for this library!

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.