// Path: integration-tests/src/main/java/io/github/tomdw/java/modules/spring/integration/tests/IntegrationTestConfiguration.java
// @Configuration
// @Import(value = {IntegrationTestUsingConstructorInjectionService.class, IntegrationTestService.class})
// public class IntegrationTestConfiguration {
// 
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/FailingSpeakerService.java
// public interface FailingSpeakerService {
// 
// 	String getSpeakerNameButThrowsRuntimeException();
// 
// 	String getSpeakerNameButThrowsCheckedException() throws NoSpeakerCheckedException;
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/MultipleSpeakerService.java
// public interface MultipleSpeakerService {
// 	String getName();
// 	void speak(String message);
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/MultipleSpeakerWithGenericsService.java
// public interface MultipleSpeakerWithGenericsService<T> {
// 
// 	T getMultipleSpeakerName();
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/NamedSpeakerService.java
// public interface NamedSpeakerService {
// 
// 	String getSpeakerName();
// 
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/SpeakerService.java
// public interface SpeakerService {
// 	String getName();
// 	void speak(String message);
// }


import io.github.tomdw.java.modules.context.boot.api.ModuleContext;
import io.github.tomdw.java.modules.spring.integration.tests.IntegrationTestConfiguration;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.FailingSpeakerService;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.MultipleSpeakerService;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.MultipleSpeakerWithGenericsService;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.NamedSpeakerService;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.SpeakerService;

@ModuleContext(mainConfigurationClass = IntegrationTestConfiguration.class)
module io.github.tomdw.java.modules.spring.integration.tests {
	requires io.github.tomdw.java.modules.context.boot;
	requires io.github.tomdw.java.modules.spring.samples.basicapplication.application;
	requires io.github.tomdw.java.modules.spring.samples.basicapplication.speaker;

	uses SpeakerService;
// Path: integration-tests/src/main/java/io/github/tomdw/java/modules/spring/integration/tests/IntegrationTestConfiguration.java
// @Configuration
// @Import(value = {IntegrationTestUsingConstructorInjectionService.class, IntegrationTestService.class})
// public class IntegrationTestConfiguration {
// 
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/FailingSpeakerService.java
// public interface FailingSpeakerService {
// 
// 	String getSpeakerNameButThrowsRuntimeException();
// 
// 	String getSpeakerNameButThrowsCheckedException() throws NoSpeakerCheckedException;
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/MultipleSpeakerService.java
// public interface MultipleSpeakerService {
// 	String getName();
// 	void speak(String message);
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/MultipleSpeakerWithGenericsService.java
// public interface MultipleSpeakerWithGenericsService<T> {
// 
// 	T getMultipleSpeakerName();
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/NamedSpeakerService.java
// public interface NamedSpeakerService {
// 
// 	String getSpeakerName();
// 
// }
// 
// Path: samples/basicapplication/speaker/src/main/java/io/github/tomdw/java/modules/spring/samples/basicapplication/speaker/api/SpeakerService.java
// public interface SpeakerService {
// 	String getName();
// 	void speak(String message);
// }


// Path: integration-tests/src/main/java/module-info.java
import io.github.tomdw.java.modules.context.boot.api.ModuleContext;
import io.github.tomdw.java.modules.spring.integration.tests.IntegrationTestConfiguration;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.FailingSpeakerService;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.MultipleSpeakerService;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.MultipleSpeakerWithGenericsService;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.NamedSpeakerService;
import io.github.tomdw.java.modules.spring.samples.basicapplication.speaker.api.SpeakerService;


@ModuleContext(mainConfigurationClass = IntegrationTestConfiguration.class)
module io.github.tomdw.java.modules.spring.integration.tests {
	requires io.github.tomdw.java.modules.context.boot;
	requires io.github.tomdw.java.modules.spring.samples.basicapplication.application;
	requires io.github.tomdw.java.modules.spring.samples.basicapplication.speaker;

	uses SpeakerService;
	uses MultipleSpeakerService;