machai
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.machanism.machai</groupId>
<artifactId>machai</artifactId>
<version>1.0.3</version>
</dependency><?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.machanism.machai</groupId>
<artifactId>machai</artifactId>
<version>1.0.3</version>
<packaging>pom</packaging>
<name>Machai Project</name>
<!-- @guidance: Summarize the `src/site/markdown/index.md` introduction
section and put this conten to the `description` tag. -->
<description>Machai is a modular toolkit for GenAI-enabled developer
automation. It provides Java libraries, a command line application, and
Maven plugins that unify access to multiple GenAI providers, generate
and consume Bindex metadata for library discovery and reuse, and
automate repository-scale documentation updates from embedded guidance
using Ghostwriter.</description>
<url>https://machai.machanism.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.version>3.8.1</maven.version>
<stagingDirectory>${env.MACHAI_SITE}</stagingDirectory>
<maven.javadoc.skip>true</maven.javadoc.skip>
<acts.location>
https://raw.githubusercontent.com/machanism-org/machai/refs/heads/main/acts</acts.location>
<gw.model>CodeMie:gpt-5-2-2025-12-11</gw.model>
<bindex.model>${gw.model}</bindex.model>
<genai.serverId>CodeMie</genai.serverId>
<gw.rootProjectLast>true</gw.rootProjectLast>
</properties>
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.11.2</version>
<configuration>
<doclint>none</doclint>
<show>package</show>
<useStandardDocletOptions>true</useStandardDocletOptions>
<bottom><![CDATA[©2025-2026 Machanism.org. All Rights Reserved.]]></bottom>
<header><![CDATA[<h1><a href="${project.url}">${project.name}<a></h1>]]></header>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<distributionManagement>
<repository>
<id>ossrh</id>
<url>
https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
</profile>
<profile>
<id>pack</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<outputDirectory>
${env.MACHANISM_PACK_DIR}/machai</outputDirectory>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>auto-acts</id>
<build>
<plugins>
<plugin>
<groupId>org.machanism.machai</groupId>
<artifactId>gw-maven-plugin</artifactId>
<version>1.0.3</version>
<executions>
<execution>
<id>sonar-tests</id>
<goals>
<goal>act</goal>
</goals>
<configuration>
<act>sonar-tests</act>
</configuration>
</execution>
<execution>
<id>sonar-fix</id>
<goals>
<goal>act</goal>
</goals>
<configuration>
<act>sonar-fix</act>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.machanism.machai</groupId>
<artifactId>bindex-maven-plugin</artifactId>
<version>1.0.3</version>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<modules>
<module>project-layout</module>
<module>genai-client</module>
<module>bindex-core</module>
<module>machai-cli</module>
<module>bindex-maven-plugin</module>
<module>ghostwriter</module>
<module>gw-maven-plugin</module>
</modules>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.9.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>4.11.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.17</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.ganteater</groupId>
<artifactId>ae-maven-plugin</artifactId>
<version>1.2.9</version>
<configuration>
<variables>
<Project_Dir>${project.basedir}</Project_Dir>
</variables>
</configuration>
<dependencies>
<dependency>
<groupId>com.ganteater.plugins</groupId>
<artifactId>web-ae-plugin</artifactId>
<version>1.2.9</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.15.2</version>
<configuration>
<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
</configuration>
<executions>
<execution>
<id>mojo-descriptor</id>
<goals>
<goal>descriptor</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.machanism.machai</groupId>
<artifactId>bindex-maven-plugin</artifactId>
<version>1.0.3</version>
</plugin>
<plugin>
<groupId>org.machanism.machai</groupId>
<artifactId>gw-maven-plugin</artifactId>
<version>1.0.3</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.14.1</version>
<configuration>
<excludes>
<exclude>**/@guidance.txt</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.8.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
</configuration>
</plugin>
<plugin>
<artifactId>plantuml-generator-maven-plugin</artifactId>
<groupId>de.elnarion.maven</groupId>
<version>3.0.1</version>
<configuration>
<outputFilename>class-diagram.puml</outputFilename>
<outputDirectory>target/generated-docs/puml</outputDirectory>
<maxVisibilityFields>PUBLIC</maxVisibilityFields>
<maxVisibilityMethods>PROTECTED</maxVisibilityMethods>
<hideFields>true</hideFields>
<hideMethods>true</hideMethods>
<hideClasses>true</hideClasses>
</configuration>
<executions>
<execution>
<id>gen-class-diagram</id>
<phase>site</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>it.mulders.puml</groupId>
<artifactId>plantuml-maven-plugin</artifactId>
<version>0.4.15</version>
<configuration>
<sourceFiles>
<directory>${basedir}</directory>
<includes>
<include>src/site/puml/**/*.*</include>
<include>target/generated-docs/puml/*.*</include>
</includes>
</sourceFiles>
<outputDirectory>${project.build.directory}/site/images</outputDirectory>
<stripPath>src/site/puml</stripPath>
<format>PNG</format>
</configuration>
<executions>
<execution>
<id>plantuml-generate</id>
<phase>site</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>it.mulders.puml</groupId>
<artifactId>plantuml-v1-adapter</artifactId>
<version>0.4.15</version>
</dependency>
<dependency>
<groupId>net.sourceforge.plantuml</groupId>
<artifactId>plantuml</artifactId>
<version>1.2026.2</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.21.0</version>
</plugin>
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<version>1.5.3</version>
<executions>
<execution>
<phase>site</phase>
<goals>
<goal>replace</goal>
</goals>
</execution>
</executions>
<configuration>
<basedir>${stagingDirectory}</basedir>
<includes>
<include>**/*.html</include>
</includes>
<!-- Regex to match HTML comments -->
<replacements>
<replacement>
<token><!--[\\s\\S]*?--></token>
<value></value>
</replacement>
</replacements>
</configuration>
</plugin>
<plugin>
<groupId>org.simplify4u.plugins</groupId>
<artifactId>sitemapxml-maven-plugin</artifactId>
<version>2.2.0</version>
<executions>
<execution>
<goals>
<goal>gen</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.5</version>
<configuration>
<!-- Include @{argLine} to append to existing config -->
<argLine>@{argLine} -Xmx1024m</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.14</version>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
<configuration>
<!-- Specify the path for the XML report, which
SonarQube expects -->
<outputDirectory>
${project.build.directory}/site/jacoco</outputDirectory>
<formats>
<format>XML</format>
</formats>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!-- mvn clean install site site:stage -->
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<doclint>none</doclint>
<show>package</show>
<useStandardDocletOptions>true</useStandardDocletOptions>
<bottom><![CDATA[©2025-2026 Machanism.org. All Rights Reserved.]]></bottom>
<header><![CDATA[<h1><a href="${project.url}">${project.name}</a></h1>]]></header>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changes-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<escapeText>false</escapeText>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>changes</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<connection>scm:git:https://github.com/machanism-org/machai.git</connection>
<developerConnection>scm:git:https://github.com/machanism-org/machai.git</developerConnection>
<url>https://github.com/machanism-org/machai.git</url>
</scm>
<distributionManagement>
<site>
<id>machai.machanism.org</id>
<url>scp://machanism.org/@machai</url>
</site>
</distributionManagement>
<issueManagement>
<url>https://github.com/machanism-org/machai/issues</url>
</issueManagement>
<developers>
<developer>
<name>Viktor Tovstyi</name>
<email>viktor.tovstyi@gmail.com</email>
</developer>
</developers>
</project>