diff --git a/.gitignore b/.gitignore index d88c305087..0bdf3fdcef 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ target /docs/javadoc/* /clara-home tmp +/common-tools/clas-io/src/main/java/org/jlab/io/banks # deployment /myLocalMvnRepo diff --git a/libexec/bank-schema-enums b/libexec/bank-schema-enums new file mode 100755 index 0000000000..e349f9514b --- /dev/null +++ b/libexec/bank-schema-enums @@ -0,0 +1,16 @@ +#!/usr/bin/env python3 +import os,glob,json +idir = 'etc/bankdefs/hipo4' +odir = 'common-tools/clas-io/src/main/java/org/jlab/io/banks' +os.makedirs(odir, exist_ok=True) +for x in glob.glob(f'{idir}/*.json'): + for bank in json.load(open(x,'r')): + class_name = bank['name'].replace(':','_'); + with open(f'{odir}/{class_name}.java','w') as f: + f.write('package org.jlab.io.banks;\n') + f.write(f'public class {class_name} {{\n') + for i,entry in enumerate(bank['entries']): + var_name = entry['name'] + f.write(f' public static final short {var_name} = {i};\n') + f.write('}\n') + f.close() diff --git a/pom.xml b/pom.xml index 834fe121ad..b936e993b1 100644 --- a/pom.xml +++ b/pom.xml @@ -263,6 +263,30 @@ + + + org.apache.maven.plugins + maven-antrun-plugin + 3.1.0 + + + bank-schema-enums + validate + + run + + false + + + + + + + + + + + com.github.spotbugs @@ -428,6 +452,22 @@ + + + maven-clean-plugin + 3.4.0 + + + + common-tools/clas-io/src/main/java/org/jlab/io/banks + + **/*.java + + + + + + org.codehaus.mojo