org.immutables.tools.tools

Tools for Immutables that to be published as separate artifacts

Лицензия

Лицензия

Категории

Категории

Immutables Библиотеки уровня приложения Code Generators
Группа

Группа

org.immutables.tools
Идентификатор

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

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

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

4
Дата

Дата

Тип

Тип

pom
Описание

Описание

org.immutables.tools.tools
Tools for Immutables that to be published as separate artifacts
Ссылка на сайт

Ссылка на сайт

https://github.com/immutables/tools
Организация-разработчик

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

The Immutables.org authors
Система контроля версий

Система контроля версий

https://github.com/immutables/tools.git

Скачать tools

Имя Файла Размер
tools-4.pom 3 KB
Обзор

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

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

Зависимости

Библиотека не имеет зависимостей. Это самодостаточное приложение, которое не зависит ни от каких других библиотек.

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

  • maven-shade-plugin

maven-shade-plugin

Customized version of maven-shade-plugin.

<groupId>org.immutables.tools</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>4</version>

1. Relocation with $ uglyfication

Allows class relocation patterns to contain $ sign. If pattern ends with $ sign, the dollar sign will be prepended in front of class names. This effectively prevents clashed during code completion.

<relocation>
  <pattern>com.google.common</pattern>
  <shadedPattern>com.my.internal.$guava$</shadedPattern>
</relocation>

The above pattern will result in ImmutableList being relocated as

com.my.internal.$guava$.collect.$ImmutableList

2. ServiceResourceTransformer that actually works properly

  • Merges META-INF/services/* entries with deduplication of lines
  • Applied class relocations to merged entries

3. Minimize Jar that works properly

  • Does not remove used classes: fixed transitive class dependencies problem.
  • Does not remove classes used in META-INF/services/* for used service types. Removes META-INF/services/* for unused service types. Explicitly include META-INF/services/** in filters to not delete such files and make all provider implementation types marked as non-removable.

I would love someone to contribute/reimplement those changes to the original Apache Maven maven-shade-plugin. I just couldn't afford time to dive into processes or infrastructure there.

org.immutables.tools

Immutables

Java toolkits around immutability, annotation processing and high performance

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

Версия
4
3
2