Apache Winegrower :: Extension :: Build

The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users.

Лицензия

Лицензия

Группа

Группа

org.apache.winegrower
Идентификатор

Идентификатор

winegrower-build
Последняя версия

Последняя версия

1.0.1
Дата

Дата

Тип

Тип

pom
Описание

Описание

Apache Winegrower :: Extension :: Build
The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users.
Организация-разработчик

Организация-разработчик

The Apache Software Foundation

Скачать winegrower-build

Имя Файла Размер
winegrower-build-1.0.1.pom 1 KB
Обзор

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/org.apache.winegrower/winegrower-build/ -->
<dependency>
    <groupId>org.apache.winegrower</groupId>
    <artifactId>winegrower-build</artifactId>
    <version>1.0.1</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/org.apache.winegrower/winegrower-build/
implementation 'org.apache.winegrower:winegrower-build:1.0.1'
// https://jarcasting.com/artifacts/org.apache.winegrower/winegrower-build/
implementation ("org.apache.winegrower:winegrower-build:1.0.1")
'org.apache.winegrower:winegrower-build:pom:1.0.1'
<dependency org="org.apache.winegrower" name="winegrower-build" rev="1.0.1">
  <artifact name="winegrower-build" type="pom" />
</dependency>
@Grapes(
@Grab(group='org.apache.winegrower', module='winegrower-build', version='1.0.1')
)
libraryDependencies += "org.apache.winegrower" % "winegrower-build" % "1.0.1"
[org.apache.winegrower/winegrower-build "1.0.1"]

Зависимости

test (1)

Идентификатор библиотеки Тип Версия
org.junit.jupiter : junit-jupiter jar 5.7.0

Модули Проекта

  • winegrower-build-common
  • winegrower-maven-plugin

Apache Winegrower

Apache Winegrower is a lightweight and powerful application framework.

It brings the powerful OSGi model without all the issue and help of bundle classloaders. Winegrower fully supports the activator and service model but use an unique classloader.

It supports both OSGi and regular application.

Apache Winegrower provides several packaging options, like standalone jar, exploded jar, docker images. It’s also cloud ready and provides tooling to provision your applications on cloud providers.

Sample

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="
            http://maven.apache.org/POM/4.0.0
            http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>mygroupid</groupId>
  <artifactId>mywinegrowerapp-with-shell</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.core</artifactId>
      <version>6.0.0</version>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.compendium</artifactId>
      <version>5.0.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.winegrower</groupId>
      <artifactId>winegrower-core</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>org.apache.karaf.shell</groupId>
      <artifactId>org.apache.karaf.shell.core</artifactId>
      <version>4.2.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.karaf.shell</groupId>
      <artifactId>org.apache.karaf.shell.console</artifactId>
      <version>4.2.1</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>1.7.25</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.6.0</version>
        <configuration>
          <mainClass>org.apache.winegrower.Ripener</mainClass>
          <systemProperties>
            <systemProperty>
              <key>org.slf4j.simpleLogger.defaultLogLevel</key>
              <value>DEBUG</value>
            </systemProperty>
            <systemProperty>
              <key>org.slf4j.simpleLogger.logFile</key>
              <value>System.out</value>
            </systemProperty>
            <systemProperty>
              <key>karaf.startLocalConsole</key>
              <value>true</value>
            </systemProperty>
          </systemProperties>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

You can now start Winegrower with:

mvn exec:java

How to add a command? Create a class with this class:

@Service
@Command(name = "hello", scope = "test")
public class MyCommand implements Action {
    public Object execute() throws Exception {
        System.out.println("Hello world");
        return "hello world";
    }
}

Then package it as a normal jar/exploded folder - not even a bundle - and add it in the previous classpath. You can now run "test:hello".

Note that to shortcut the build phase you can use @Header which to define a BundleActivator.

Here is an example:

@Header(name= Constants.BUNDLE_ACTIVATOR, value = "${@class}")
public class MyBundleActivator implements BundleActivator {
    // standard code
}
org.apache.winegrower

The Apache Software Foundation

Версии библиотеки

Версия
1.0.1
1.0.0