Giter Site home page Giter Site logo

parent's Introduction

MyBatis Parent

Java CI Maven central Sonatype Nexus (Snapshots) License

mybatis

MyBatis-Parent is the MyBatis parent POM which has to be inherited by all MyBatis modules.

Building

  • Builds require JDK 11 or better to build with and will continue to target JDK 8 runtimes.
  • Allowable JDKs to build with include 11, 17, 21, or 22-ea
  • Minimum maven version to build projects is 3.9.6
  • Uses reproducable builds

Configurations

  • buildJdks - Uses <allowed.build.jdks> property for allowed jdks to build with. Defaults to 17, 21, 22, 23-ea, or 24-ea.

  • checkstyle - Uses <checkstyle.config> property for checkstyle configuration.

  • clirr - Uses <clirr.comparisonVersion> property version to compare prior releases against.

  • formatter - Uses <formatter.config> property for formatting configuration. Default spacing is 2 character spacing.

  • htmlJavadocs - Uses <html.javadocType> property for html type for javadocs. Default to -html5.

  • importsOrder - Uses <impsortGroups> property for import sort order. Defaults to au,ch,com,config,de,examples,io,jakarta,java,javassist,javax,lombok,mockit,net,nl,ognl,org.

  • JPMS - Uses <module.name> property required to override in every downstream module for automatic modular name.

  • spotbugs - Uses <spotbugs.onlyAnalyze> property to control spotbugs analyzation. Defaults to not set.

  • compiler - Controlled through <java.version> and <java.release.version> setting source, target, and release with possibilty for split tests.

  • encoding - Uses UTF-8 by default which can be overridden through <project.build.sourceEncoding>, <project.build.resourceEncoding>, and <project.reporting.outputEncoding>.

  • reproducable - Set <project.build.outputTimestamp> to controll reproducable build timestamp, this will auto update during releases; if not overridden, it will use value from last parent release.

Depedencies

  • Asm 9.7
  • Mybatis Base Bundle 11
  • Bnd 7.0.0
  • Build Tools 1.3.1
  • Checkstyle 10.17.0
  • Extra Enforcer Rules 1.8.0
  • Fluido 2.0.0-M9
  • License 4.5

Plugins

  • Antrun 3.1.0
  • Assembly 3.7.1
  • Bnd 7.0.0
  • Checkstyle 3.4.0
  • Clean 3.3.2
  • Clirr 2.8
  • Compiler 3.13.0
  • Coveralls 4.5.0-M3
  • Dependency 3.7.1
  • Deploy 3.1.2
  • Enforcer 3.5.0
  • Formatter 2.24.1
  • Git Commit 9.0.1
  • Gpgp 3.2.4
  • Impsort 1.11.0
  • Install 3.1.2
  • Jacoco 0.8.12
  • Jar 3.4.2
  • Javadoc 3.8.0
  • Jxr 3.4.0
  • License 4.5
  • Lifecycle 1.0.0
  • Modernizer 2.9.0
  • Pdf 1.6.1
  • Pmd 3.24.0
  • Project Info Reports 3.6.2
  • Release 3.1.1
  • Resources 3.3.1
  • Rewrite 5.37.1
  • Scm Publish 3.3.0
  • Shade 3.6.0
  • Site 4.0.0-M16
  • Sonar 4.0.0.4121
  • Sortpom 4.0.0
  • Source 3.3.1
  • Spotbugs 4.8.6.0
  • Surefire 3.3.1
  • Taglist 3.1.0
  • Versions 2.17.1
  • Whitespace 1.3.2

OSGI

  • <osgi.symbolicName> as ${project.groupId}.${project.artifactId}
  • <osgi.export> as ${project.groupId}.*;version=${project.version};-noimport:=true
  • <osgi.import> as *
  • <osgi.dynamicImport> as empty
  • <osgi.private> as empty

Tests

  • <excludedGroups> add slow test groups here and annotate classes similar to @Tag('groupName') whcih will auto enable on CI only

Site

  • <topSiteURL> is set back upon itself as a hack to fix defect in maven site for single module builds to avoid maven detecting as 'projectname.git' and placing one folder up from staging. Set this to empty for multi module builds.

See more details in pom

parent's People

Contributors

abel533 avatar awxiaoxian2020 avatar christianpoitras avatar dependabot-preview[bot] avatar dependabot[bot] avatar eddumelendez avatar emacarron avatar gdarmont avatar h3adache avatar harawata avatar hazendaz avatar jeffgbutler avatar kazuki43zoo avatar marcosperanza avatar mnesarco avatar nmaves avatar pboonphong avatar renovate[bot] avatar simonetripodi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

parent's Issues

Jacoco Issue

@emacarron I wasn't sure what the removal was for during release. Can you list the issue here so we can track it?

Invalid value passed to m-enforcer-p rule "requireJavaVersion"

Only version ranges according to https://maven.apache.org/enforcer/enforcer-rules/requireJavaVersion.html and https://maven.apache.org/enforcer/enforcer-rules/versionRanges.html are supported but currently just a comma separated list of major versions are passed in

parent/pom.xml

Line 612 in fcf4376

<version>${allowed.build.jdks}</version>
.

Although this works for requiring a lower bound (more or less by incident, for details refer to eclipse-m2e/m2e-core#1120) it doesn't work for enforcing the upper bound properly. Also it won't accept version "11" but only a minor version above 0!
This value must either be a single version (for just requiring a minimum version) or a range starting with either ( or [.

configuration of findbugs-maven-plugin is wrong

type of findbugsXmlOutput is boolean. However current definition used the string type as follow:

<findbugsXmlOutput>${project.build.directory}/target/findbugs-reports</findbugsXmlOutput>

Release parent 31

jdk 8 level
nearly all plugins up-to-date.

todo
review upgrading the bundle plugin

Checkstyle defect - hold on any release

Checkstyle plugin 3.0.0 supports up to checkstyle 8.24.

Checkstyle plugin 3.1.0 supports up to checkstyle 8.28 but has a major regression. Change MCHECKSTYLE-365 attempted to fix a counting problem by changing behaviour. This results in projects like mybatis-3 failing to delivery anything in the 'rules aggregate' section. This is because mybatis-3 doesn't have any 'error' condition issues. Further, the newer checkstyles shows far more issues than in the past which we need to account for and without an overall statistic check on overall issue, it's hard to know what to focus our efforts on.

The above issue has been reported to maven checkstyle plugin team. I'm supplying a partial revert of the original commit but do not know if it will be accepted or fixed. That means for the time being, I'm putting a hold on releasing mybatis-parent in order to not cause downstream issues.

As it stands, all projects are generally being released on mybatis parent 31 before 32 is available anyways but this is here to prevent forgetting and subsequent release which then dependabot will apply everywhere.

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/ci.yaml
  • actions/checkout v4
  • actions/setup-java v4
.github/workflows/site.yaml
  • actions/checkout v4
  • actions/setup-java v4
  • JamesIves/github-pages-deploy-action v4
.github/workflows/sonar.yaml
  • actions/checkout v4
  • actions/setup-java v4
.github/workflows/sonatype.yaml
  • actions/checkout v4
  • actions/setup-java v4
maven
pom.xml
  • com.github.hazendaz.maven:whitespace-maven-plugin 1.4.0
  • com.github.ekryd.sortpom:sortpom-maven-plugin 4.0.0
  • io.github.git-commit-id:git-commit-id-maven-plugin 9.0.1
  • com.github.spotbugs:spotbugs-maven-plugin 4.8.6.4
  • com.mycila:license-maven-plugin 4.5
  • com.mycila:license-maven-plugin-git 4.5
  • com.github.hazendaz.maven:coveralls-maven-plugin 4.5.0-M5
  • net.revelc.code:impsort-maven-plugin 1.12.0
  • net.revelc.code.formatter:formatter-maven-plugin 2.24.1
  • com.github.hazendaz:build-tools 1.4.0
  • biz.aQute.bnd:bnd-maven-plugin 7.0.0
  • biz.aQute.bnd:biz.aQute.bndlib 7.0.0
  • org.apache.maven.plugins:maven-antrun-plugin 3.1.0
  • org.apache.maven.plugins:maven-assembly-plugin 3.7.1
  • org.mybatis:base-bundle-descriptor 12
  • org.apache.maven.plugins:maven-checkstyle-plugin 3.5.0
  • org.apache.maven.plugins:maven-clean-plugin 3.4.0
  • org.apache.maven.plugins:maven-compiler-plugin 3.13.0
  • org.apache.maven.plugins:maven-dependency-plugin 3.8.0
  • org.apache.maven.plugins:maven-deploy-plugin 3.1.3
  • org.apache.maven.plugins:maven-enforcer-plugin 3.5.0
  • org.codehaus.mojo:extra-enforcer-rules 1.9.0
  • org.apache.maven.plugins:maven-gpg-plugin 3.2.6
  • org.apache.maven.plugins:maven-install-plugin 3.1.3
  • org.apache.maven.plugins:maven-jar-plugin 3.4.2
  • org.apache.maven.plugins:maven-javadoc-plugin 3.10.0
  • org.apache.maven.plugins:maven-jxr-plugin 3.5.0
  • org.apache.maven.plugins:maven-pdf-plugin 1.6.1
  • org.apache.maven.plugins:maven-pmd-plugin 3.25.0
  • org.sonarsource.scanner.maven:sonar-maven-plugin 4.0.0.4121
  • org.apache.maven.plugins:maven-project-info-reports-plugin 3.7.0
  • org.apache.maven.plugins:maven-release-plugin 3.1.1
  • org.apache.maven.plugins:maven-resources-plugin 3.3.1
  • org.apache.maven.plugins:maven-scm-publish-plugin 3.3.0
  • org.apache.maven.plugins:maven-shade-plugin 3.6.0
  • org.apache.maven.plugins:maven-site-plugin 4.0.0-M16
  • org.apache.maven.skins:maven-fluido-skin 2.0.0-M10
  • org.apache.maven.plugins:maven-source-plugin 3.3.1
  • org.apache.maven.plugins:maven-surefire-plugin 3.5.0
  • org.apache.maven.plugins:maven-surefire-report-plugin 3.5.0
  • org.jacoco:jacoco-maven-plugin 0.8.12
  • org.codehaus.mojo:clirr-maven-plugin 2.8
  • org.apache.bcel:bcel 6.10.0
  • org.codehaus.mojo:taglist-maven-plugin 3.1.0
  • org.codehaus.mojo:versions-maven-plugin 2.17.1
  • org.gaul:modernizer-maven-plugin 2.9.0
  • org.ow2.asm:asm 9.7
  • org.openrewrite.maven:rewrite-maven-plugin 5.40.2
  • com.puppycrawl.tools:checkstyle 10.18.1
  • com.github.hazendaz:build-tools 1.4.0
maven-wrapper
.mvn/wrapper/maven-wrapper.properties
  • maven 3.9.9
  • maven-wrapper 3.3.2

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

plugin usage for ide's suggested removal

maven-idea-plugin is retired and probably should be removed.
maven-eclipse-plugin is flagged for future retirement. Using this with modern eclipse versions actually causes way more issues than it attempts to solve since it does a lot of legacy things and m2e is preferred these days.

For eclipse plugin being potentially retired...
http://maven.40175.n5.nabble.com/DISCUSS-Move-everything-to-1-6-take-2-was-Re-I-can-t-make-a-release-td5820796.html#a5820985

If no objections, I can do a pull request on this. Thanks.

Drop the gcupload profile and attach assemblies to project

As discussed in the ML, I proposed to avoid to upload assemblies "bundles" in favour of the Central repository.

At the end, what users need, are just links where downloading stuff, so no technical needs to upload them in different places.

Another option would be avail Bintray, which quickly got the interest of OSS communities

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.