All Projects → mojo-executor → mojo-executor

mojo-executor / mojo-executor

Licence: other
The Mojo Executor provides a way to to execute other Mojos (plugins) within a Maven plugin, allowing you to easily create Maven plugins that are composed of other plugins.

Programming Languages

java
68154 projects - #9 most used programming language
groovy
2714 projects

Labels

Projects that are alternatives of or similar to mojo-executor

intellij-quarkus
IntelliJ Quarkus Tools
Stars: ✭ 83 (-54.4%)
Mutual labels:  maven
spring-boot-web
Spring Boot脚手架工程
Stars: ✭ 29 (-84.07%)
Mutual labels:  maven
maven-shade-plugin
Apache Maven Shade Plugin
Stars: ✭ 120 (-34.07%)
Mutual labels:  maven
dmn-check
A tool which performs static analyses on Decision Model Notation (DMN) files to detect bugs
Stars: ✭ 34 (-81.32%)
Mutual labels:  maven
dependency-update-maven-plugin
A Maven plugin that creates merge requests for dependency updates.
Stars: ✭ 23 (-87.36%)
Mutual labels:  maven
Student-Information-Administration-System
大学生信息管理系统——初学路上自己摸索实践的项目
Stars: ✭ 91 (-50%)
Mutual labels:  maven
CyFHIR
A Neo4j Plugin for Handling HL7 FHIR Data
Stars: ✭ 39 (-78.57%)
Mutual labels:  maven
etoolbox-authoring-kit
Offers a set of tools that create Granite UI authoring interfaces for Adobe Experience Manager components from Java code. This is a comprehensive solution that makes different widgets work in a coordinated manner, provides greater interactivity in AEM dialogs, and introduces additional features (customizable data lists, options selection, etc.)
Stars: ✭ 93 (-48.9%)
Mutual labels:  maven
atguigu ssm crud
Atguigu-SSM-CRUD 一个最基本的CRUD系统,采用IDEA+Maven搭建,具备前后端交互功能,前端采用BootStrap+Ajax异步请求DOM渲染,后端采用SpringMVC+MyBatis+Mysql8.0+Servlet+Jsp,符合REST风格URL规范,并加入了Hibernate提供的数据校验功能,支持PageHelper的分页功能,很适合SSM阶段性练习。同时用到了很多前端操作以及BootStrap组件,也有利于学习JS和前端框架。
Stars: ✭ 52 (-71.43%)
Mutual labels:  maven
library-booksystem
基于ssm的入门项目,图书在线管理系统。a library system.
Stars: ✭ 26 (-85.71%)
Mutual labels:  maven
plexus-compiler
Plexus compiler a layer on top of compilers and used by maven-compiler-plugin
Stars: ✭ 24 (-86.81%)
Mutual labels:  maven
kotlin-grpc-sample
Sample of a gRPC Kotlin service
Stars: ✭ 27 (-85.16%)
Mutual labels:  maven
WorldGuardExtraFlagsPlugin
Extension for the WorldGuard plugin.
Stars: ✭ 47 (-74.18%)
Mutual labels:  maven
proxychanger
Go tool to change system and applications proxy
Stars: ✭ 15 (-91.76%)
Mutual labels:  maven
reproducible-build-maven-plugin
A simple Maven plugin to make your build byte-for-byte reproducible
Stars: ✭ 65 (-64.29%)
Mutual labels:  maven
springboot-bbs
基于springboot的论坛系统,主要使用的技术有springboot+mybatis+redis+自定义分页,数据库为mysql,前端为bootstrap+jquery+html5
Stars: ✭ 49 (-73.08%)
Mutual labels:  maven
maven-resource
Maven Repository Manager Concourse Resource
Stars: ✭ 22 (-87.91%)
Mutual labels:  maven
MasterSeleniumFramework
Automation Testing | Web | Java | OOPS | Selenium WebDriver | TestNG | Maven | ExtentReport | Allure Reports | Java mail API | Design Patterns (Page Object Model, Singleton) | Jenkins | Data-Driven Testing using JSON file
Stars: ✭ 52 (-71.43%)
Mutual labels:  maven
MaxSoft-IntelliAPI
First-ever code-free and lightweight cross platform API and database test automation tool.
Stars: ✭ 14 (-92.31%)
Mutual labels:  maven
SpringsScala
Sample Projects for Creating Springs Web services in Scala
Stars: ✭ 16 (-91.21%)
Mutual labels:  maven

Build Status Maven Central

The Mojo Executor provides a way to execute other Mojos (plugins) within a Maven plugin, allowing you to easily create Maven plugins that are composed of other plugins.

Note from the Maintainers

Tim Moore

I'm no longer maintaining this project actively, as I no longer use it (and have moved away from Maven and Java entirely). It's a simple library that does its job, and a lot of people are using it effectively in its current state.

I am happy to continue reviewing and merging pull requests, and releasing new versions to Maven Central. Most of the contributions so far have come from other people, and I'm very grateful to the people that have helped to improve Mojo Executor.

I do want to make it clear, however, that I won't be personally working on any bug reports or feature requests that come through the issue tracker without a pull request. I hope the community of Mojo Executor users will help answer questions and troubleshoot problems reported there.

If anyone in the community would like to take over as full-time maintainer, let's talk! Email me at [email protected] and we can set up a Skype call or Google Hangout to discuss it in detail.

Cheers, — Tim

Nick Cross

While I am no longer actively using this plugin I am happy to review, assist with contributions, merge PRs and release new versions. I have released the last few versions rolling up all the various fixes and improvements.

Cheers, — Nick

News

  • 10 Mar 2022 — Mojo Executor 2.4.0 released
  • 10 Feb 2022 — Mojo Executor 2.3.3 released with updated dependencies
  • 1 Sep 2021 — Mojo Executor 2.3.2 released (by Nick Cross) with various bug fixes and minor improvements
  • 21 Nov 2019 — Mojo Executor 2.3.1 released (by Nick Cross) with various bug fixes and minor improvements
  • 4 May 2017 — Mojo Executor 2.3.0 released (by Nick Cross) with various bug fixes and minor improvements.
  • 27 Mar 2014 — Mojo Executor 1.5.2 released with support for Maven 2 through 3.1.
  • 12 Feb 2014 — I'm looking for a new maintainer for this project. If you're interested, please get in touch!
  • 26 Nov 2013 — Mojo Executor 2.2.0 released with support for attributes in plugin configuration.
  • 25 Aug 2013 — Mojo Executor 2.1.0 released with support for Maven 3.1.

Downloads

You can download the JARs, source, and Javadocs from Maven central:

https://search.maven.org/search?q=g:org.twdata.maven

Example Usage

MojoExecutor defines a number of builder methods that are intended to be imported statically:

import static org.twdata.maven.mojoexecutor.MojoExecutor.*

This is how you would execute the "copy-dependencies" goal of the Maven Dependency Plugin programmatically:

executeMojo(
    plugin(
        groupId("org.apache.maven.plugins"),
        artifactId("maven-dependency-plugin"),
        version("2.0")
    ),
    goal("copy-dependencies"),
    configuration(
        element(name("outputDirectory"), "${project.build.directory}/foo")
    ),
    executionEnvironment(
        mavenProject,
        mavenSession,
        pluginManager
    )
);

The project, session, and pluginManager variables should be injected via the normal Mojo injection:

@Component
private MavenProject mavenProject;

@Component
private MavenSession mavenSession;

@Component
private BuildPluginManager pluginManager;

An alternative form for the executionEnvironment, ignoring the optional MavenProject, is:

    executionEnvironment(
        mavenSession,
        pluginManager
    )

You might need to add other annotations to your Mojo class, depending on the needs of your plugin. Annotations declared by Mojos that you execute are not automatically inherited by your enclosing Mojo.

For example, if you are using the maven-dependency-plugin, as in this example, you will need to add @requiresDependencyResolution <scope> to your class annotations to ensure that Maven resolves the project dependencies before invoking your plugin.

See the Mojo API Specification for details on available annotations. Look at the included example plugin for an example of use.

Maven Dependency

Add this to your pom.xml:

<dependencies>
    <dependency>
        <groupId>org.twdata.maven</groupId>
        <artifactId>mojo-executor</artifactId>
        <version>2.4.0</version>
    </dependency>
</dependencies>

Maven Compatibility

  • 2.4.x — Requires Maven 3.3.1 or later
  • 2.1.x/2.2.x — Support Maven 3.x
  • 2.0.x — Supports Maven 3.0.x only
  • 1.5.x — Supports both Maven 2.x and Maven 3.x
  • 1.0.1 — Supports Maven 2.x only

License

Copyright 2008-2013 Don Brown

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Contributors

Mojo Executor was originally created by Don Brown ([email protected]).

It is currently maintained by Tim Moore ([email protected]) and Nick Cross ([email protected])

Thanks to the following contributors, who have provided patches and other assistance:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].