@REM
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM http://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM

@echo on

rem Copy Apache Fineract JAR
md build\run
copy .\fineract\fineract-provider\build\libs\fineract-provider.jar build\run

rem Add our scorecard-plugin reporting plugin, like so:

powershell -command "Expand-Archive -Force '.\fineract-credit-scorecard\scorecard-plugin\build\distributions\scorecard-plugin.zip' 'build\run'"
del .\build\run\scorecard-plugin.jar

rem Start!

java -Dloader.path=build\run\lib\ -jar build\run\fineract-provider.jar