Skip to content

Commit

Permalink
Give CI error if there are unused imports
Browse files Browse the repository at this point in the history
  • Loading branch information
sjoelund committed Nov 21, 2019
1 parent b799216 commit ad94f65
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 40 deletions.
1 change: 1 addition & 0 deletions .CI/common.groovy
Expand Up @@ -203,6 +203,7 @@ void buildOMC(CC, CXX, extraFlags) {
mv build.sanity-check build
rm -rf .sanity-check
'''
sh "cd OMCompiler/Compiler/boot && ./find-unused-import.sh ../*/*.mo"
}
}

Expand Down
81 changes: 41 additions & 40 deletions OMCompiler/Compiler/Template/Makefile.common
Expand Up @@ -2,6 +2,7 @@

GENERATED_FILES_BOOT_STAGE2=AbsynDumpTpl.mo CodegenUtil.mo DAEDumpTpl.mo ExpressionDumpTpl.mo Unparsing.mo SCodeDumpTpl.mo GenerateAPIFunctionsTpl.mo CodegenCFunctions.mo AbsynToJulia.mo AbsynJLDumpTpl.mo
GENERATED_FILES=$(GENERATED_FILES_BOOT_STAGE2) CodegenC.mo CodegenUtilSimulation.mo CodegenEmbeddedC.mo CodegenFMUCommon.mo CodegenFMU.mo CodegenFMU1.mo CodegenFMU2.mo CodegenCSharp.mo CodegenCppCommon.mo CodegenCpp.mo CodegenCppHpcom.mo CodegenFMUCpp.mo CodegenOMSI_common.mo CodegenOMSIC.mo CodegenOMSIC_Equations.mo CodegenFMUCppHpcom.mo CodegenCppInit.mo CodegenMidToC.mo CodegenModelica.mo GraphvizDump.mo GraphMLDumpTpl.mo NFInstDumpTpl.mo SimCodeDump.mo CodegenAdevs.mo CodegenSparseFMI.mo CodegenXML.mo CodegenJava.mo CodegenJS.mo TaskSystemDump.mo VisualXMLTpl.mo
UNUSED=../boot/find-unused-import.sh

all : $(GENERATED_FILES) TplCodegen.mo check_tabs
templates-bootstrap : $(GENERATED_FILES_BOOT_STAGE2) TplCodegen.mo check_tabs
Expand All @@ -12,171 +13,171 @@ check_tabs:
AbsynDumpTpl.mo : AbsynDumpTpl.tpl AbsynDumpTV.mo
@echo " ** AbsynDumpTpl template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenAdevs.mo : CodegenAdevs.tpl SimCodeTV.mo
@echo " ** CodegenAdevs template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenSparseFMI.mo : CodegenSparseFMI.tpl SimCodeTV.mo
@echo " ** CodegenSparseFMI template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenUtil.mo : CodegenUtil.tpl SimCodeTV.mo
@echo " ** CodegenUtil template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenUtilSimulation.mo : CodegenUtilSimulation.tpl SimCodeTV.mo
@echo " ** CodegenUtilSimulation template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenC.mo : CodegenC.tpl CodegenCFunctions.tpl SimCodeTV.mo CodegenUtil.tpl
@echo " ** CodegenC template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenEmbeddedC.mo : CodegenEmbeddedC.tpl SimCodeTV.mo CodegenUtil.tpl
@echo " ** CodegenEmbeddedC template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenCFunctions.mo : CodegenCFunctions.tpl SimCodeTV.mo CodegenUtil.tpl
@echo " ** CodegenC template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenMidToC.mo : CodegenMidToC.tpl SimCodeTV.mo MidCodeTV.mo
@echo " ** CodegenMidToC template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenCSharp.mo : CodegenCSharp.tpl SimCodeTV.mo
@echo " ** CodegenCSharp template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

# FMU
CodegenFMUCommon.mo : CodegenFMUCommon.tpl SimCodeTV.mo SimCodeBackendTV.mo CodegenC.tpl CodegenCFunctions.tpl CodegenUtil.tpl
@echo " ** CodegenFMUCommon template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)
CodegenFMU.mo : CodegenFMU.tpl CodegenFMU2.tpl CodegenFMUCommon.tpl CodegenFMUCommon.mo SimCodeTV.mo SimCodeBackendTV.mo CodegenC.tpl CodegenCFunctions.tpl CodegenUtil.tpl
@echo " ** CodegenFMU template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)
CodegenFMU1.mo : CodegenFMU1.tpl CodegenFMUCommon.tpl CodegenFMUCommon.mo SimCodeTV.mo SimCodeBackendTV.mo CodegenC.tpl CodegenUtil.tpl
@echo " ** CodegenFMU1 template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)
CodegenFMU2.mo : CodegenFMU2.tpl CodegenFMUCommon.tpl CodegenFMUCommon.mo SimCodeTV.mo SimCodeBackendTV.mo CodegenC.tpl CodegenUtil.tpl
@echo " ** CodegenFMU2 template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)
CodegenFMUCpp.mo : CodegenFMUCpp.tpl SimCodeTV.mo SimCodeBackendTV.mo CodegenC.tpl CodegenUtil.tpl CodegenCpp.tpl CodegenCppCommon.tpl CodegenFMU.tpl
@echo " ** CodegenFMUCpp template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)
CodegenFMUCppHpcom.mo : CodegenFMUCppHpcom.tpl CodegenFMUCpp.tpl SimCodeTV.mo SimCodeBackendTV.mo CodegenCppHpcom.tpl CodegenUtil.tpl CodegenCppCommon.tpl CodegenCpp.tpl CodegenFMU.tpl
@echo " ** CodegenFMUCppHpcom template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

# OMSI
CodegenOMSI_common.mo : CodegenOMSI_common.tpl SimCodeTV.mo SimCodeBackendTV.mo CodegenUtil.tpl CodegenUtilSimulation.tpl CodegenCFunctions.tpl
@echo " ** CodegenOMSI_common template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)
CodegenOMSIC.mo : CodegenOMSIC.tpl SimCodeTV.mo SimCodeBackendTV.mo CodegenOMSI_common.tpl CodegenUtil.tpl CodegenUtilSimulation.tpl CodegenFMU.tpl
@echo " ** CodegenOMSIC template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)
CodegenOMSIC_Equations.mo : CodegenOMSIC_Equations.tpl SimCodeTV.mo SimCodeBackendTV.mo CodegenC.tpl CodegenCFunctions.tpl CodegenUtil.tpl CodegenUtilSimulation.tpl
@echo " ** CodegenOMSIC_Equations template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenModelica.mo : CodegenModelica.tpl
@echo " ** CodegenModelica template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

DAEDumpTpl.mo : DAEDumpTpl.tpl DAEDumpTV.mo
@echo " ** DAEDumpTpl template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

NFInstDumpTpl.mo : NFInstDumpTpl.tpl NFInstDumpTV.mo
@echo " ** NFInstDumpTpl template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

Unparsing.mo : Unparsing.tpl SimCodeTV.mo
@echo " ** Unparsing template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

SimCodeDump.mo : SimCodeDump.tpl SimCodeTV.mo CodegenUtil.tpl SCodeDumpTpl.tpl
@echo " ** SimCodeDump template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenCpp.mo : CodegenCpp.tpl SimCodeTV.mo CodegenUtil.tpl CodegenCppInit.tpl CodegenCppCommon.tpl
@echo " ** CodegenCpp template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenCppHpcom.mo : CodegenCppHpcom.tpl SimCodeTV.mo SimCodeBackendTV.mo CodegenCpp.tpl CodegenUtil.tpl
@echo " ** CodegenCppHpcom template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenCppInit.mo : CodegenCppInit.tpl SimCodeTV.mo SimCodeBackendTV.mo CodegenUtil.tpl CodegenFMUCommon.tpl
@echo " ** CodegenCppInit template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)
CodegenCppCommon.mo : CodegenCppCommon.tpl SimCodeTV.mo
@echo " ** CodegenCppCommon template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

ExpressionDumpTpl.mo : ExpressionDumpTpl.tpl ExpressionDumpTV.mo DAEDumpTpl.tpl
@echo " ** ExpressionDumpTpl template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

GraphvizDump.mo : GraphvizDump.tpl SimCodeTV.mo SimCodeBackendTV.mo
@echo " ** GraphvizDump template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

GraphMLDumpTpl.mo : GraphMLDumpTpl.tpl GraphMLDumpTplTV.mo
@echo " ** GraphMLDumpTpl template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

SCodeDumpTpl.mo : SCodeDumpTpl.tpl SCodeTV.mo AbsynDumpTpl.tpl
@echo " ** SCodeDumpTpl template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenXML.mo : CodegenXML.tpl SimCodeTV.mo
@echo " ** CodegenXML template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenJava.mo : CodegenJava.tpl SimCodeTV.mo
@echo " ** CodegenJava template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

CodegenJS.mo : CodegenJS.tpl SimCodeTV.mo
@echo " ** CodegenJS template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

TplCodegen.mo : ../susan_codegen/TplCodegen.tpl ../susan_codegen/TplCodegenTV.mo
@echo " ** TplCodegen generation ** "
Expand All @@ -186,27 +187,27 @@ TplCodegen.mo : ../susan_codegen/TplCodegen.tpl ../susan_codegen/TplCodegenTV.mo
TaskSystemDump.mo : TaskSystemDump.tpl SimCodeTV.mo CodegenUtil.tpl SCodeDumpTpl.tpl
@echo " ** TaskSystemDump template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

GenerateAPIFunctionsTpl.mo : GenerateAPIFunctionsTpl.tpl SimCodeTV.mo
@echo " ** GenerateAPIFunctionsTpl template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

VisualXMLTpl.mo : VisualXMLTpl.tpl VisualXMLTplTV.mo
@echo " ** VisualXMLTpl template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

AbsynToJulia.mo : AbsynToJulia.tpl AbsynToJuliaTV.mo
@echo " ** AbsynToJulia template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

AbsynJLDumpTpl.mo : AbsynJLDumpTpl.tpl AbsynDumpTV.mo
@echo " ** AbsynJLDump template compilation ** "
$(OMC) $< > $@.log || (cat $@.log && false)
@echo " " && ../boot/find-unused-import.sh "$@"
@echo " " && ($(UNUSED) "$@" || true)

clean:
rm -f $(GENERATED_FILES)
6 changes: 6 additions & 0 deletions OMCompiler/Compiler/boot/find-unused-import.sh
@@ -1,5 +1,6 @@
#!/bin/bash

EXIT=0
for f in "$@"; do
case $f in
*Template*TV.mo)
Expand All @@ -23,7 +24,12 @@ for f in "$@"; do
echo "Unused import $i in $f"
sed -i "/^ *[a-z]* *import \+$i *;/d" "$f"
CONTINUE=1
EXIT=1
fi
done
done
done
if test "NOERROR" = "1"; then
exit
fi
exit "$EXIT"

0 comments on commit ad94f65

Please sign in to comment.