1: Create CLI options' scaffolding
This commit is contained in:
@@ -1,8 +1,25 @@
|
|||||||
package com.bartek.esa;
|
package com.bartek.esa;
|
||||||
|
|
||||||
|
import com.bartek.esa.cli.parser.CliArgsParser;
|
||||||
|
import com.bartek.esa.di.DaggerDependencyInjector;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
public class EsaMain {
|
public class EsaMain {
|
||||||
|
private final CliArgsParser cliArgsParser;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
EsaMain(CliArgsParser cliArgsParser) {
|
||||||
|
this.cliArgsParser = cliArgsParser;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void run(String[] args) {
|
||||||
|
// cliArgsParser.parse(...)
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
System.out.println("Hello, world!");
|
DaggerDependencyInjector.create()
|
||||||
|
.esa()
|
||||||
|
.run(args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
14
src/main/java/com/bartek/esa/cli/di/CliModule.java
Normal file
14
src/main/java/com/bartek/esa/cli/di/CliModule.java
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
package com.bartek.esa.cli.di;
|
||||||
|
|
||||||
|
import com.bartek.esa.cli.parser.CliArgsParser;
|
||||||
|
import dagger.Module;
|
||||||
|
import dagger.Provides;
|
||||||
|
|
||||||
|
@Module
|
||||||
|
public class CliModule {
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
CliArgsParser cliArgsParser() {
|
||||||
|
return new CliArgsParser();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package com.bartek.esa.cli.model;
|
||||||
|
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
public class CliArgsActions {
|
||||||
|
}
|
||||||
15
src/main/java/com/bartek/esa/cli/parser/CliArgsParser.java
Normal file
15
src/main/java/com/bartek/esa/cli/parser/CliArgsParser.java
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
package com.bartek.esa.cli.parser;
|
||||||
|
|
||||||
|
import com.bartek.esa.cli.model.CliArgsActions;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
public class CliArgsParser {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public CliArgsParser() {}
|
||||||
|
|
||||||
|
public void parse(String[] args, CliArgsActions actions) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
12
src/main/java/com/bartek/esa/di/DependencyInjector.java
Normal file
12
src/main/java/com/bartek/esa/di/DependencyInjector.java
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
package com.bartek.esa.di;
|
||||||
|
|
||||||
|
import com.bartek.esa.EsaMain;
|
||||||
|
import com.bartek.esa.cli.di.CliModule;
|
||||||
|
import dagger.Component;
|
||||||
|
|
||||||
|
@Component(modules = {
|
||||||
|
CliModule.class
|
||||||
|
})
|
||||||
|
public interface DependencyInjector {
|
||||||
|
EsaMain esa();
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user