Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename InjectSPI to InjectExtension #608

Merged
merged 4 commits into from
Jun 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,13 @@ Example ex = beanScope.get(Example.class);
### Java Module Usage
When working with Java modules you need to add a `provides` statement in your `module-info.java` with the generated class.
```java
import io.avaje.inject.spi.InjectSPI;
import io.avaje.inject.spi.InjectExtension;

module org.example {

requires io.avaje.inject;
// you must define the fully qualified class name of the generated classes. if you use an import statement, compilation will fail
provides InjectSPI with org.example.ExampleModule;
provides InjectExtension with org.example.ExampleModule;
}
```

Expand Down
2 changes: 1 addition & 1 deletion blackbox-aspect/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
requires io.avaje.inject.aop;

//remove this and compilation fails
provides io.avaje.inject.spi.InjectSPI with org.example.external.aspect.sub.ExampleExternalAspectModule;
provides io.avaje.inject.spi.InjectExtension with org.example.external.aspect.sub.ExampleExternalAspectModule;

}
7 changes: 7 additions & 0 deletions blackbox-other/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@
<version>${project.version}</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>io.avaje</groupId>
<artifactId>avaje-inject-events</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>

<!-- annotation processor -->
<dependency>
Expand Down
2 changes: 1 addition & 1 deletion blackbox-test-inject/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@
<plugin>
<groupId>io.avaje</groupId>
<artifactId>avaje-inject-maven-plugin</artifactId>
<version>10.0-RC5</version>
<version>10.0-RC6</version>
<executions>
<execution>
<phase>process-sources</phase>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package org.example.myapp;

import io.avaje.inject.test.InjectExtension;
import io.avaje.inject.test.InjectJunitExtension;
import jakarta.inject.Inject;
import org.example.myapp.testconfig.CountTestScopeStart;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import static org.junit.jupiter.api.Assertions.assertEquals;

@ExtendWith(InjectExtension.class)
@ExtendWith(InjectJunitExtension.class)
class InjectExtension_injectFromTestModule_Test {

@Inject
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.example.myapp;

import io.avaje.inject.test.InjectExtension;
import io.avaje.inject.test.InjectJunitExtension;
import jakarta.inject.Inject;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
Expand All @@ -10,7 +10,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.when;

@ExtendWith(InjectExtension.class)
@ExtendWith(InjectJunitExtension.class)
class InjectExtension_injectLocalMock_Test {

@Inject HelloService helloService;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.example.myapp;

import io.avaje.inject.BeanScopeBuilder;
import io.avaje.inject.test.InjectExtension;
import io.avaje.inject.test.InjectJunitExtension;
import io.avaje.inject.test.Setup;
import jakarta.inject.Inject;
import org.junit.jupiter.api.Test;
Expand All @@ -11,7 +11,7 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

@ExtendWith(InjectExtension.class)
@ExtendWith(InjectJunitExtension.class)
class InjectExtension_setupMethodStatic_Test {

static @Inject HelloService helloService;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.example.myapp;

import io.avaje.inject.BeanScopeBuilder;
import io.avaje.inject.test.InjectExtension;
import io.avaje.inject.test.InjectJunitExtension;
import io.avaje.inject.test.Setup;
import jakarta.inject.Inject;
import org.junit.jupiter.api.Test;
Expand All @@ -14,7 +14,7 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

@ExtendWith(InjectExtension.class)
@ExtendWith(InjectJunitExtension.class)
class InjectExtension_setupMethod_Test {

@Inject
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package org.example.myapp;

import io.avaje.inject.test.InjectExtension;
import io.avaje.inject.test.InjectJunitExtension;
import jakarta.inject.Inject;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import static org.junit.jupiter.api.Assertions.assertEquals;

@ExtendWith(InjectExtension.class)
@ExtendWith(InjectJunitExtension.class)
class InjectExtension_testDoubleViaInject_Test {

@Inject HelloService helloService;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.example.myapp;

import io.avaje.inject.test.InjectExtension;
import io.avaje.inject.test.InjectJunitExtension;
import jakarta.inject.Inject;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
Expand All @@ -10,7 +10,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.when;

@ExtendWith(InjectExtension.class)
@ExtendWith(InjectJunitExtension.class)
class InjectExtension_testDoubleViaMock2_Test {

@Inject HelloService helloService;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.example.myapp;

import io.avaje.inject.test.InjectExtension;
import io.avaje.inject.test.InjectJunitExtension;
import jakarta.inject.Inject;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
Expand All @@ -10,7 +10,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.when;

@ExtendWith(InjectExtension.class)
@ExtendWith(InjectJunitExtension.class)
class InjectExtension_testDoubleViaMockStatic_Test {

static @Inject HelloService helloService;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.example.myapp;

import io.avaje.inject.test.InjectExtension;
import io.avaje.inject.test.InjectJunitExtension;
import jakarta.inject.Inject;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
Expand All @@ -9,7 +9,7 @@

import static org.junit.jupiter.api.Assertions.assertEquals;

@ExtendWith(InjectExtension.class)
@ExtendWith(InjectJunitExtension.class)
class InjectExtension_testDoubleViaMock_Test {

@Inject HelloService helloService;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
io.avaje.inject.events.spi.ObserverManagerPlugin
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ final class Constants {
static final String AT_PROXY = "@Proxy";
static final String AT_GENERATED = "@Generated(\"io.avaje.inject.generator\")";
static final String AT_GENERATED_COMMENT = "(\"io.avaje.inject.generator\")";
static final String META_INF_SPI = "META-INF/services/io.avaje.inject.spi.InjectSPI";
static final String META_INF_SPI = "META-INF/services/io.avaje.inject.spi.InjectExtension";
static final String META_INF_TESTMODULE = "META-INF/services/io.avaje.inject.test.TestModule";
static final String META_INF_CUSTOM = "META-INF/services/io.avaje.inject.spi.AvajeModule.Custom";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ static List<AvajeModule> loadModules(ClassLoader classLoader) {
// load using older Module
ServiceLoader.load(Module.class, classLoader).forEach(modules::add);
// load newer AvajeModule
final var iterator = ServiceLoader.load(InjectSPI.class, classLoader).iterator();
final var iterator = ServiceLoader.load(InjectExtension.class, classLoader).iterator();
while (iterator.hasNext()) {
try {
final var spi = iterator.next();
Expand All @@ -32,7 +32,7 @@ static List<AvajeModule> loadModules(ClassLoader classLoader) {
static List<InjectPlugin> loadPlugins(ClassLoader classLoader) {
List<InjectPlugin> plugins = new ArrayList<>();
ServiceLoader.load(Plugin.class, classLoader).forEach(plugins::add);
ServiceLoader.load(InjectSPI.class, classLoader).forEach(spi -> {
ServiceLoader.load(InjectExtension.class, classLoader).forEach(spi -> {
if (spi instanceof InjectPlugin) {
plugins.add((InjectPlugin) spi);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ final class SimpleModuleWriter {
" * module example {\n" +
" * requires io.avaje.inject;\n" +
" * \n" +
" * provides io.avaje.inject.spi.InjectSPI with %s.%s;\n" +
" * provides io.avaje.inject.spi.InjectExtension with %s.%s;\n" +
" * \n" +
" * }\n" +
" * \n" +
Expand Down
2 changes: 1 addition & 1 deletion inject-generator/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

requires static io.avaje.prism;

uses io.avaje.inject.spi.InjectSPI;
uses io.avaje.inject.spi.InjectExtension;
uses io.avaje.inject.spi.Plugin;
uses io.avaje.inject.spi.Module;
uses io.avaje.inject.spi.InjectPlugin;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ void deleteGeneratedFiles() throws IOException {
.sorted(Comparator.reverseOrder())
.map(Path::toFile)
.forEach(File::delete);
Paths.get("io.avaje.inject.spi.InjectSPI").toAbsolutePath().toFile().delete();
Paths.get("io.avaje.inject.spi.InjectExtension").toAbsolutePath().toFile().delete();
} catch (final Exception e) {
}
}
Expand Down
2 changes: 1 addition & 1 deletion inject-gradle-plugin/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ plugins {
}

group 'io.avaje.inject'
version '10.0-RC5'
version '10.0-RC6'

repositories {
mavenLocal()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

import io.avaje.inject.spi.AvajeModule;
import io.avaje.inject.spi.InjectPlugin;
import io.avaje.inject.spi.InjectSPI;
import io.avaje.inject.spi.InjectExtension;
import io.avaje.inject.spi.Module;
import org.gradle.api.*;

Expand Down Expand Up @@ -69,7 +69,11 @@ private void writeProvidedPlugins(ClassLoader cl, FileWriter pluginWriter) throw

List<InjectPlugin> allPlugins = new ArrayList<>();
ServiceLoader.load(io.avaje.inject.spi.Plugin.class, cl).forEach(allPlugins::add);
ServiceLoader.load(io.avaje.inject.spi.InjectPlugin.class, cl).forEach(allPlugins::add);
ServiceLoader.load(InjectExtension.class, classLoader).stream()
.map(Provider::get)
.filter(InjectPlugin.class::isInstance)
.map(InjectPlugin.class::cast)
.forEach(allPlugins::add);

for (final var plugin : allPlugins) {
System.out.println("Loaded Plugin: " + plugin.getClass().getCanonicalName());
Expand All @@ -92,7 +96,7 @@ private void writeProvidedModules(ClassLoader classLoader, FileWriter moduleWrit

final List<AvajeModule> avajeModules = new ArrayList<>();
ServiceLoader.load(Module.class, classLoader).forEach(avajeModules::add);
ServiceLoader.load(InjectSPI.class, classLoader).stream()
ServiceLoader.load(InjectExtension.class, classLoader).stream()
.map(Provider::get)
.filter(AvajeModule.class::isInstance)
.map(AvajeModule.class::cast)
Expand Down
2 changes: 1 addition & 1 deletion inject-maven-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<dependency>
<groupId>io.avaje</groupId>
<artifactId>avaje-inject</artifactId>
<version>10.0-RC5</version>
<version>${project.version}</version>
</dependency>
</dependencies>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
import org.apache.maven.project.MavenProject;

import io.avaje.inject.spi.AvajeModule;
import io.avaje.inject.spi.InjectExtension;
import io.avaje.inject.spi.InjectPlugin;
import io.avaje.inject.spi.InjectSPI;
import io.avaje.inject.spi.Module;
import io.avaje.inject.spi.Plugin;

Expand Down Expand Up @@ -107,7 +107,7 @@ private void writeProvidedPlugins(URLClassLoader newClassLoader, FileWriter plug

final List<InjectPlugin> plugins = new ArrayList<>();
ServiceLoader.load(Plugin.class, newClassLoader).forEach(plugins::add);
ServiceLoader.load(InjectSPI.class, newClassLoader).stream()
ServiceLoader.load(InjectExtension.class, newClassLoader).stream()
.map(Provider::get)
.filter(InjectPlugin.class::isInstance)
.map(InjectPlugin.class::cast)
Expand Down Expand Up @@ -135,7 +135,7 @@ private void writeProvidedModules(URLClassLoader newClassLoader, FileWriter modu
final Log log = getLog();
final List<AvajeModule> avajeModules = new ArrayList<>();
ServiceLoader.load(Module.class, newClassLoader).forEach(avajeModules::add);
ServiceLoader.load(InjectSPI.class, newClassLoader).stream()
ServiceLoader.load(InjectExtension.class, newClassLoader).stream()
.map(Provider::get)
.filter(AvajeModule.class::isInstance)
.map(AvajeModule.class::cast)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Beans obtain(ExtensionContext context) {
private void initialise(ExtensionContext context) {
globalBeans = GlobalInitialise.initialise(false);
log.log(TRACE, "register global test BeanScope with beans {0}", globalBeans);
context.getRoot().getStore(ExtensionContext.Namespace.GLOBAL).put(InjectExtension.class.getCanonicalName(), this);
context.getRoot().getStore(ExtensionContext.Namespace.GLOBAL).put(InjectJunitExtension.class.getCanonicalName(), this);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
* <p>
* Supports injection for fields annotated with <code>@Mock, @Spy, @Captor, @Inject</code>.
*/
public final class InjectExtension implements BeforeAllCallback, AfterAllCallback, BeforeEachCallback, AfterEachCallback {
public final class InjectJunitExtension implements BeforeAllCallback, AfterAllCallback, BeforeEachCallback, AfterEachCallback {

private static final System.Logger log = AppLog.getLogger("io.avaje.inject");
private static final Namespace INJECT_NS = Namespace.create("io.avaje.inject.InjectTest");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
*
* <p>This is a JUnit 5 extension.
*/
@ExtendWith(InjectExtension.class)
@ExtendWith(InjectJunitExtension.class)
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface InjectTest {
Expand Down
2 changes: 1 addition & 1 deletion inject-test/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@

requires transitive io.avaje.inject;
requires transitive io.avaje.inject.aop;
requires transitive io.avaje.inject.events;
requires transitive org.junit.jupiter.engine;
requires transitive org.junit.jupiter.api;
requires static org.apiguardian.api; // needed for javadoc
requires transitive org.mockito;
requires transitive org.mockito.junit.jupiter;
requires static io.avaje.inject.events;
// requires transitive org.assertj.core;
// requires transitive net.bytebuddy;
requires static java.net.http; // for testing only
Expand Down
4 changes: 2 additions & 2 deletions inject-test/src/test/java/org/example/inherit/MyOneTest.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package org.example.inherit;

import io.avaje.inject.test.InjectExtension;
import io.avaje.inject.test.InjectJunitExtension;
import jakarta.inject.Inject;
import org.example.inherit.notpublic.PubExposed;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import static org.assertj.core.api.Assertions.assertThat;

@ExtendWith(InjectExtension.class)
@ExtendWith(InjectJunitExtension.class)
public class MyOneTest extends MyOneAbstract {

@Inject
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.example.injectextension;

import io.avaje.inject.test.InjectExtension;
import io.avaje.inject.test.InjectJunitExtension;
import jakarta.inject.Inject;
import org.example.coffee.CoffeeMaker;
import org.example.coffee.Pump;
Expand All @@ -14,7 +14,7 @@
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.when;

@ExtendWith(InjectExtension.class)
@ExtendWith(InjectJunitExtension.class)
class WithExtnBasicTest {

@Mock Pump pump;
Expand Down
Loading
Loading