53 lines
932 B
Nix
53 lines
932 B
Nix
|
{
|
||
|
stdenvNoCC,
|
||
|
database,
|
||
|
sqlite,
|
||
|
schemaspy,
|
||
|
sqlite-jdbc,
|
||
|
writeText,
|
||
|
|
||
|
}:
|
||
|
stdenvNoCC.mkDerivation {
|
||
|
name = "docs";
|
||
|
src = database;
|
||
|
nativeBuildInputs = [
|
||
|
sqlite
|
||
|
schemaspy
|
||
|
sqlite-jdbc
|
||
|
];
|
||
|
|
||
|
buildPhase = let
|
||
|
properties = writeText "sqlite.properties" ''
|
||
|
description=SQLite
|
||
|
driver=org.sqlite.JDBC
|
||
|
driverPath=${sqlite-jdbc}/share/java/sqlite-jdbc-3.25.2.jar
|
||
|
connectionSpec=jdbc:sqlite:<db>
|
||
|
'';
|
||
|
|
||
|
args = writeText "schemaspy.properties" ''
|
||
|
schemaspy.cat="%"
|
||
|
schemaspy.t=sqlite
|
||
|
schemaspy.sso=true
|
||
|
schemaspy.db=jadb.sqlite
|
||
|
schemaspy.o=docs
|
||
|
schemaspy.s=schema.sql
|
||
|
'';
|
||
|
|
||
|
in ''
|
||
|
runHook preBuild
|
||
|
|
||
|
sqlite3 jadb.sqlite ".schema" > schema.sql
|
||
|
cp ${args} ./schemaspy.properties
|
||
|
schemaspy -t ${properties}
|
||
|
|
||
|
runHook postBuild
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
runHook preBuild
|
||
|
|
||
|
cp -r docs $out
|
||
|
|
||
|
runHook postBuild
|
||
|
'';
|
||
|
}
|