Skip to content

Commit

Permalink
Merge pull request #6 from ELDEpendenci/develop
Browse files Browse the repository at this point in the history
update for 2.0.1 eldependenci
  • Loading branch information
eric2788 authored Sep 16, 2022
2 parents 53036b8 + 7df3d4d commit 0db0bf2
Show file tree
Hide file tree
Showing 21 changed files with 217 additions and 80 deletions.
25 changes: 23 additions & 2 deletions .github/workflows/develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,33 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-java@v3
with:
java-version: '16'
java-version: '18'
distribution: 'adopt'
- name: Build with Maven
run: mvn --batch-mode package
- name: upload artifacts
uses: actions/upload-artifact@v1
with:
name: ELDependenci-SQL
path: ./eldependenci-sql-plugin/target/
path: ./eldependenci-sql-plugin/target/

publish:
runs-on: ubuntu-latest
needs: [ build_plugin ]
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v2
with:
java-version: '18'
distribution: 'adopt'
- run: echo ::set-output name=version::$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
id: project
- run: echo "maven version = ${{steps.project.outputs.version}}"
- name: Publish package
run: mvn --batch-mode clean deploy
if: ${{ endsWith(steps.project.outputs.version, '-SNAPSHOT') }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
10 changes: 4 additions & 6 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
env:
version: 0.0.5 # 你的版本名稱
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
plugin_name: "eldependenci-sql-plugin"

name: Publish Process

Expand All @@ -20,8 +18,8 @@ jobs:
uses: actions/checkout@v2
- uses: eric2788/maven-jar-publish@v2
with:
java-version: 16
body: 版本更新請到[這裏](https://eric2788.gitbook.io/eldependenci-sql/references/update/v0.0.5)查看。
java-version: 18
body: 版本更新請到[這裏](https://eric2788.gitbook.io/eldependenci-sql/references/update/v0.0.6)查看。
upload-module: './eldependenci-sql-plugin'
- name: 'Update javadocs'
id: update-javadoc
Expand All @@ -39,9 +37,9 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-java@v2
with:
java-version: '16'
java-version: '18'
distribution: 'adopt'
- name: Publish package
run: mvn --batch-mode deploy
run: mvn --batch-mode clean deploy
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
*.iml
**/*.iml
/javadocs/
**/dependency-reduced-pom.xml
**/dependency-reduced-pom.xml
.vscode
16 changes: 14 additions & 2 deletions eldependenci-sql-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,21 @@
<modelVersion>4.0.0</modelVersion>

<artifactId>eldependenci-sql-plugin</artifactId>
<version>${project.parent.version}</version>
<version>0.2.2-SNAPSHOST</version>

<dependencies>
<dependency>
<groupId>org.eldependenci</groupId>
<artifactId>eldependenci-bungee</artifactId>
</dependency>
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
</dependency>
<dependency>
<groupId>io.github.waterfallmc</groupId>
<artifactId>waterfall-api</artifactId>
</dependency>
<dependency>
<groupId>org.eldependenci</groupId>
<artifactId>eldependenci-sql</artifactId>
Expand All @@ -21,7 +33,7 @@
</dependency>
<dependency>
<groupId>org.eldependenci</groupId>
<artifactId>eldependenci-framework</artifactId>
<artifactId>eldependenci-bukkit</artifactId>
</dependency>
<dependency>
<groupId>org.eldependenci</groupId>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package chu77.eldependenci.sql;

import chu77.eldependenci.sql.config.Dbconfig;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import org.hibernate.dialect.Dialect;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package chu77.eldependenci.sql;


import chu77.eldependenci.sql.config.Dbconfig;
import chu77.eldependenci.sql.jpa.JpaRepositoryModule;
import chu77.eldependenci.sql.manager.JpaFactoryManager;
Expand All @@ -9,23 +8,15 @@
import chu77.eldependenci.sql.manager.datasource.ELDDataSourceFactory;
import chu77.eldependenci.sql.manager.datasource.MySQLDataSource;
import chu77.eldependenci.sql.manager.datasource.SQLiteDataSource;
import com.ericlam.mc.eld.AddonManager;
import com.ericlam.mc.eld.ELDBukkitAddon;
import com.ericlam.mc.eld.ManagerProvider;
import com.ericlam.mc.eld.AddonInstallation;
import com.ericlam.mc.eld.MCPlugin;
import com.ericlam.mc.eld.ServiceCollection;
import com.ericlam.mc.eld.annotations.ELDPlugin;

import java.io.File;
import java.util.Map;

@ELDPlugin(
lifeCycle = SQLAddonLifecycle.class,
registry = SQLAddonRegistry.class
)
public class SQLAddon extends ELDBukkitAddon {
public class ServiceCollectionBinder {

@Override
protected void bindServices(ServiceCollection serviceCollection) {
public static void bind(ServiceCollection serviceCollection, MCPlugin plugin){
serviceCollection.addConfiguration(Dbconfig.class);

serviceCollection.addServices(ELDDataSourceFactory.class, Map.of(
Expand All @@ -36,16 +27,13 @@ protected void bindServices(ServiceCollection serviceCollection) {

serviceCollection.bindService(SQLService.class, SQLDataSourceManager.class);
serviceCollection.addSingleton(JpaFactoryManager.class);
}

@Override
protected void preAddonInstall(ManagerProvider managerProvider, AddonManager moduleInstaller) {
File prop = new File(getDataFolder(), "hibernate.properties");
if (!prop.exists()) saveResource("hibernate.properties", true);
ELDSQLInstallation eldsqlInstallation = new ELDSQLInstallation();
moduleInstaller.customInstallation(SQLInstallation.class, eldsqlInstallation);
moduleInstaller.installModule(new JpaRepositoryModule(eldsqlInstallation));
}
}
var sqlInstaller = new ELDSQLInstallation();

AddonInstallation addon = serviceCollection.getInstallation(AddonInstallation.class);

addon.customInstallation(SQLInstallation.class, sqlInstaller);
addon.installModule(new JpaRepositoryModule(sqlInstaller, plugin));

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package chu77.eldependenci.sql.bukkit;


import chu77.eldependenci.sql.ServiceCollectionBinder;
import com.ericlam.mc.eld.BukkitManagerProvider;
import com.ericlam.mc.eld.ELDBukkit;
import com.ericlam.mc.eld.ELDBukkitPlugin;
import com.ericlam.mc.eld.ServiceCollection;

import java.io.File;

@ELDBukkit(
lifeCycle = SQLAddonLifecycle.class,
registry = SQLAddonRegistry.class
)
public class SQLAddon extends ELDBukkitPlugin {

@Override
public void bindServices(ServiceCollection serviceCollection) {
ServiceCollectionBinder.bind(serviceCollection, this);
}


@Override
protected void manageProvider(BukkitManagerProvider bukkitManagerProvider) {
File file = new File(getDataFolder(), "hibernate.properties");
if (!file.exists()) saveResource("hibernate.properties");
}
}


Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package chu77.eldependenci.sql;
package chu77.eldependenci.sql.bukkit;

import com.ericlam.mc.eld.ELDLifeCycle;
import com.ericlam.mc.eld.bukkit.ELDLifeCycle;
import org.bukkit.plugin.java.JavaPlugin;

public class SQLAddonLifecycle implements ELDLifeCycle {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package chu77.eldependenci.sql.bukkit;

import com.ericlam.mc.eld.bukkit.CommandNode;
import com.ericlam.mc.eld.bukkit.ComponentsRegistry;
import com.ericlam.mc.eld.registration.CommandRegistry;
import com.ericlam.mc.eld.registration.ListenerRegistry;
import org.bukkit.event.Listener;

public class SQLAddonRegistry implements ComponentsRegistry {


@Override
public void registerCommand(CommandRegistry<CommandNode> commandRegistry) {

}

@Override
public void registerListeners(ListenerRegistry<Listener> listenerRegistry) {

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package chu77.eldependenci.sql.bungee;

import chu77.eldependenci.sql.ServiceCollectionBinder;
import com.ericlam.mc.eld.BungeeManageProvider;
import com.ericlam.mc.eld.ELDBungee;
import com.ericlam.mc.eld.ELDBungeePlugin;
import com.ericlam.mc.eld.ServiceCollection;

import java.io.File;

@ELDBungee(
registry = SQLAddonRegistry.class,
lifeCycle = SQLAddonLifecycle.class
)
public class SQLAddon extends ELDBungeePlugin {

@Override
public void bindServices(ServiceCollection serviceCollection) {
ServiceCollectionBinder.bind(serviceCollection, this);
}

@Override
protected void manageProvider(BungeeManageProvider bungeeManageProvider) {
File file = new File(getDataFolder(), "hibernate.properties");
if (!file.exists()) saveResource("hibernate.properties");
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package chu77.eldependenci.sql.bungee;

import com.ericlam.mc.eld.bungee.ELDLifeCycle;
import net.md_5.bungee.api.plugin.Plugin;

public class SQLAddonLifecycle implements ELDLifeCycle {
@Override
public void onEnable(Plugin plugin) {

}

@Override
public void onDisable(Plugin plugin) {

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package chu77.eldependenci.sql.bungee;

import com.ericlam.mc.eld.bungee.CommandNode;
import com.ericlam.mc.eld.bungee.ComponentsRegistry;
import com.ericlam.mc.eld.registration.CommandRegistry;
import com.ericlam.mc.eld.registration.ListenerRegistry;
import net.md_5.bungee.api.plugin.Listener;

public class SQLAddonRegistry implements ComponentsRegistry {


@Override
public void registerCommand(CommandRegistry<CommandNode> commandRegistry) {

}

@Override
public void registerListeners(ListenerRegistry<Listener> listenerRegistry) {

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,24 @@

import chu77.eldependenci.sql.ELDSQLInstallation;
import chu77.eldependenci.sql.manager.datasource.EntityManagerProvider;
import com.ericlam.mc.eld.MCPlugin;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import com.google.inject.Scopes;
import com.google.inject.TypeLiteral;
import com.google.inject.name.Names;

import javax.persistence.EntityManager;
import javax.sql.DataSource;
import java.util.Map;
import java.util.Set;

public final class JpaRepositoryModule extends AbstractModule {

private final ELDSQLInstallation eldsqlInstallation;
private final MCPlugin plugin;

public JpaRepositoryModule(ELDSQLInstallation eldsqlInstallation) {
public JpaRepositoryModule(ELDSQLInstallation eldsqlInstallation, MCPlugin plugin) {
this.eldsqlInstallation = eldsqlInstallation;
this.plugin = plugin;
}

@Override
Expand All @@ -28,6 +29,7 @@ protected void configure() {
eldsqlInstallation.getRepositories().forEach(re -> bind(re).toProvider(new RepositoryProvider<>(re)));
bind(new TypeLiteral<Set<Class<?>>>(){}).annotatedWith(Names.named("jpa-entities")).toInstance(eldsqlInstallation.getEntitySet());
bind(new TypeLiteral<Map<Class<?>, Class<?>[]>>(){}).annotatedWith(Names.named("jpa-custom-implements")).toInstance(eldsqlInstallation.getCustomImplements());
bind(MCPlugin.class).annotatedWith(Names.named("sql-addon")).toInstance(plugin);
bind(RepoImplementManager.class).in(Scopes.SINGLETON);
bind(ELDSQLInstallation.CustomSource.class).toInstance(eldsqlInstallation.getCustomSource());

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package chu77.eldependenci.sql.manager;

import chu77.eldependenci.sql.SQLAddon;
import chu77.eldependenci.sql.SQLService;
import chu77.eldependenci.sql.config.Dbconfig;
import chu77.eldependenci.sql.manager.datasource.ELDDataSourceFactory;
import com.ericlam.mc.eld.MCPlugin;
import org.hibernate.SessionFactory;

import javax.inject.Inject;
import javax.inject.Named;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
Expand All @@ -20,7 +21,7 @@ public final class SQLDataSourceManager implements SQLService {
private final ELDDataSourceFactory dataSourceFactory;

@Inject
public SQLDataSourceManager(Map<String, ELDDataSourceFactory> dbMap, Dbconfig db, SQLAddon sqlAddon) {
public SQLDataSourceManager(Map<String, ELDDataSourceFactory> dbMap, Dbconfig db, @Named("sql-addon") MCPlugin sqlAddon) {
this.db = db;
dataSourceFactory = Optional.ofNullable(dbMap.get(db.dataSource)).orElseThrow(() -> new IllegalStateException("Unknown DataSource: " + db.dataSource));
if (db.enable) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import chu77.eldependenci.sql.ELDSQLInstallation;
import chu77.eldependenci.sql.config.Dbconfig;
import org.hibernate.dialect.Dialect;

import javax.inject.Inject;
import javax.sql.DataSource;
Expand Down
Loading

0 comments on commit 0db0bf2

Please sign in to comment.