Skip to content

Commit

Permalink
Install maven metadata without xmvn
Browse files Browse the repository at this point in the history
As we are not building using xmvn due to huge number of missing properly
packaged dependencies we need to package maven metadata manually.

Signed-off-by: Martin Perina <mperina@redhat.com>
  • Loading branch information
mwperina committed Sep 19, 2022
1 parent b7641fe commit 51b6f51
Show file tree
Hide file tree
Showing 6 changed files with 625 additions and 108 deletions.
45 changes: 45 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,7 @@ install: \
all \
install-layout \
install_artifacts \
install_poms \
$(NULL)

.PHONY: ovirt-engine.spec.in
Expand Down Expand Up @@ -424,6 +425,50 @@ install_artifacts:
"$(DESTDIR)$(PKG_DOC_DIR)/AuditLogMessages.properties"
chmod 0644 "$(DESTDIR)$(PKG_DOC_DIR)/AuditLogMessages.properties"

install_maven_metadata:
install -dm 755 "$(DESTDIR)$(DATAROOT_DIR)/maven-metadata"
install -m 644 packaging/maven-metadata/ovirt-engine-base.xml "$(DESTDIR)$(DATAROOT_DIR)/maven-metadata/ovirt-engine-base.xml"
install -m 644 packaging/maven-metadata/ovirt-engine-backend.xml "$(DESTDIR)$(DATAROOT_DIR)/maven-metadata/ovirt-engine-backend.xml"
install -m 644 packaging/maven-metadata/ovirt-engine-restapi.xml "$(DESTDIR)$(DATAROOT_DIR)/maven-metadata/ovirt-engine-restapi.xml"
install -m 644 packaging/maven-metadata/ovirt-engine-tools.xml "$(DESTDIR)/$(DATAROOT_DIR)/maven-metadata/ovirt-engine-tools.xml"

install_poms: \
install_maven_metadata \
$(NULL)
install -dm 755 "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)"
# base
install -m 644 pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/root.pom"
install -m 644 backend/manager/logutils/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/logutils.pom"
install -m 644 backend/manager/modules/branding/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/branding.pom"
install -m 644 backend/manager/modules/common/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/common.pom"
install -m 644 backend/manager/modules/compat/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/compat.pom"
install -m 644 backend/manager/modules/extensions-manager/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/extensions-manager.pom"
install -m 644 backend/manager/modules/utils/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/utils.pom"
install -m 644 backend/manager/modules/uutils/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/uutils.pom"
# backend
install -m 644 backend/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/backend.pom"
install -m 644 backend/manager/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/manager.pom"
install -m 644 backend/manager/modules/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/manager-modules.pom"
install -m 644 backend/manager/modules/aaa/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/aaa.pom"
install -m 644 backend/manager/modules/bll/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/bll.pom"
install -m 644 backend/manager/modules/builtin-extensions/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/builtin.pom"
install -m 644 backend/manager/modules/dal/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/dal.pom"
install -m 644 backend/manager/modules/scheduler/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/scheduler.pom"
install -m 644 backend/manager/modules/searchbackend/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/searchbackend.pom"
install -m 644 backend/manager/modules/vdsbroker/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/vdsbroker.pom"
# restapi
install -m 644 backend/manager/modules/restapi/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/restapi-parent.pom"
install -m 644 backend/manager/modules/restapi/interface/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/interface.pom"
install -m 644 backend/manager/modules/restapi/interface/common/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/common-parent.pom"
install -m 644 backend/manager/modules/restapi/interface/common/jaxrs/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/interface-common-jaxrs.pom"
install -m 644 backend/manager/modules/restapi/interface/definition/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/restapi-definition.pom"
install -m 644 backend/manager/modules/restapi/jaxrs/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/restapi-jaxrs.pom"
install -m 644 backend/manager/modules/restapi/types/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/restapi-types.pom"
# tools
install -m 644 backend/manager/extensions-tool/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/extensions-tool.pom"
install -m 644 backend/manager/sso-client-registration-tool/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/sso-client-registration-tool.pom"
install -m 644 backend/manager/tools/pom.xml "$(DESTDIR)$(MAVENPOM_DIR)/$(PACKAGE_NAME)/tools.pom"

install-packaging-files: \
$(GENERATED) \
$(NULL)
Expand Down
146 changes: 38 additions & 108 deletions ovirt-engine.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,6 @@
# EL >= 7
#

%global ovirt_install_poms 1

%global ovirt_product_name oVirt Engine
%global ovirt_product_name_short oVirt Engine
%global ovirt_product_group Virtualization/Management
Expand Down Expand Up @@ -890,105 +888,6 @@ __EOF__
ln -s "%{engine_name}" "%{buildroot}%{engine_java}/../%{name}"
%endif

#
# Register poms
#
# All poms including intermediate ones are required.
# Order of the sequence of %mvn_package & %mvn_artifact matters
# Registration should start with the most top level pom and go down
#
%mvn_package ":root" base
%mvn_artifact "pom.xml"

%mvn_package ":backend" "backend"
%mvn_artifact "backend/pom.xml"

%mvn_package ":manager" "backend"
%mvn_artifact "backend/manager/pom.xml"

%mvn_package ":manager-modules" "backend"
%mvn_artifact "backend/manager/modules/pom.xml"

%mvn_package ":aaa" "backend"
%mvn_artifact "backend/manager/modules/aaa/pom.xml" "%{buildroot}%{engine_java}/aaa.jar"

%mvn_package ":bll" "backend"
%mvn_artifact "backend/manager/modules/bll/pom.xml" "%{buildroot}%{engine_java}/bll.jar"

%mvn_package ":builtin" "backend"
%mvn_artifact "backend/manager/modules/builtin-extensions/pom.xml" "%{buildroot}%{engine_java}/builtin.jar"

%mvn_package ":dal" "backend"
%mvn_artifact "backend/manager/modules/dal/pom.xml" "%{buildroot}%{engine_java}/dal.jar"

%mvn_package ":scheduler" "backend"
%mvn_artifact "backend/manager/modules/scheduler/pom.xml" "%{buildroot}%{engine_java}/scheduler.jar"

%mvn_package ":searchbackend" "backend"
%mvn_artifact "backend/manager/modules/searchbackend/pom.xml" "%{buildroot}%{engine_java}/searchbackend.jar"

%mvn_package ":vdsbroker" "backend"
%mvn_artifact "backend/manager/modules/vdsbroker/pom.xml" "%{buildroot}%{engine_java}/vdsbroker.jar"

%mvn_package ":branding" "base"
%mvn_artifact "backend/manager/modules/branding/pom.xml" "%{buildroot}%{engine_java}/branding.jar"

%mvn_package ":common" "base"
%mvn_artifact "backend/manager/modules/common/pom.xml" "%{buildroot}%{engine_java}/common.jar"

%mvn_package ":compat" "base"
%mvn_artifact "backend/manager/modules/compat/pom.xml" "%{buildroot}%{engine_java}/compat.jar"

%mvn_package ":extensions-manager" "base"
%mvn_artifact "backend/manager/modules/extensions-manager/pom.xml" "%{buildroot}%{engine_java}/extensions-manager.jar"

%mvn_package ":logutils" "base"
%mvn_artifact "backend/manager/logutils/pom.xml" "%{buildroot}%{engine_java}/logutils.jar"

%mvn_package ":utils" "base"
%mvn_artifact "backend/manager/modules/utils/pom.xml" "%{buildroot}%{engine_java}/utils.jar"

%mvn_package ":uutils" "base"
%mvn_artifact "backend/manager/modules/uutils/pom.xml" "%{buildroot}%{engine_java}/uutils.jar"

%mvn_package ":restapi-parent" "restapi"
%mvn_artifact "backend/manager/modules/restapi/pom.xml"

%mvn_package ":interface" "restapi"
%mvn_artifact "backend/manager/modules/restapi/interface/pom.xml"

%mvn_package ":common-parent" "restapi"
%mvn_artifact "backend/manager/modules/restapi/interface/common/pom.xml"

%mvn_package ":interface-common-jaxrs" "restapi"
%mvn_artifact "backend/manager/modules/restapi/interface/common/jaxrs/pom.xml" "%{buildroot}%{engine_java}/interface-common-jaxrs.jar"

%mvn_package ":restapi-definition" "restapi"
%mvn_artifact "backend/manager/modules/restapi/interface/definition/pom.xml" "%{buildroot}%{engine_java}/restapi-definition.jar"

%mvn_package ":restapi-jaxrs" "restapi"
%mvn_artifact "backend/manager/modules/restapi/jaxrs/pom.xml" "%{buildroot}%{engine_java}/restapi-jaxrs.jar"

%mvn_package ":restapi-types" "restapi"
%mvn_artifact "backend/manager/modules/restapi/types/pom.xml" "%{buildroot}%{engine_java}/restapi-types.jar"

%mvn_package ":extensions-tool" "tools"
%mvn_artifact "backend/manager/extensions-tool/pom.xml" "%{buildroot}%{engine_java}/extensions-tool.jar"

%mvn_package ":sso-client-registration-tool" "tools"
%mvn_artifact "backend/manager/sso-client-registration-tool/pom.xml" "%{buildroot}%{engine_java}/sso-client-registration-tool.jar"

%mvn_package ":tools" "tools"
%mvn_artifact "backend/manager/tools/pom.xml" "%{buildroot}%{engine_java}/tools.jar"


%if "%{name}" != "%{engine_name}"
sed -i 's#%{_javadir}/%{name}#%{engine_java}#' .mfiles*
%endif

%if !%{ovirt_install_poms}
rm -fr "%{buildroot}%{_mavenpomdir}"
%endif

#
# Link dependencies to system provided
Expand Down Expand Up @@ -1114,9 +1013,6 @@ perl -i -pe 's/^SHA1-Digest: [^\n]+\n//g' "%{buildroot}%{engine_ear}/META-INF/MA

%endif

# Install java related artifacts into correct places
%mvn_install

echo "Install complete"

%preun
Expand Down Expand Up @@ -1148,7 +1044,7 @@ fi
%pre
%ovirt_create_user_engine

%files -f .mfiles-base
%files
%dir %attr(-, %{engine_user}, %{engine_group}) %{engine_cache}
# see also relevant install command to set permissions
%dir %attr(700, %{engine_user}, %{engine_group}) %{engine_log}
Expand Down Expand Up @@ -1191,6 +1087,16 @@ fi
%{_javadir}/%{name}
%endif

%{_datadir}/maven-metadata/ovirt-engine-base.xml
%{_mavenpomdir}/ovirt-engine/root.pom
%{_mavenpomdir}/ovirt-engine/logutils.pom
%{_mavenpomdir}/ovirt-engine/branding.pom
%{_mavenpomdir}/ovirt-engine/common.pom
%{_mavenpomdir}/ovirt-engine/compat.pom
%{_mavenpomdir}/ovirt-engine/extensions-manager.pom
%{_mavenpomdir}/ovirt-engine/utils.pom
%{_mavenpomdir}/ovirt-engine/uutils.pom

%if %{rhv_build}
%files -n rhvm
%license LICENSE
Expand All @@ -1201,7 +1107,7 @@ fi
%{engine_data}/bin/java-home
%{python3_sitelib}/ovirt_engine/

%files backend -f .mfiles-backend
%files backend
%license LICENSE
%license backend/manager/modules/services/src/main/webapp/gpl-3.0.txt
%license backend/manager/modules/services/src/main/webapp/lgpl-3.0.txt
Expand Down Expand Up @@ -1240,6 +1146,18 @@ fi
%{engine_etc}/osinfo.conf.d/
%{engine_jboss_modules}/

%{_datadir}/maven-metadata/ovirt-engine-backend.xml
%{_mavenpomdir}/ovirt-engine/backend.pom
%{_mavenpomdir}/ovirt-engine/manager.pom
%{_mavenpomdir}/ovirt-engine/manager-modules.pom
%{_mavenpomdir}/ovirt-engine/aaa.pom
%{_mavenpomdir}/ovirt-engine/bll.pom
%{_mavenpomdir}/ovirt-engine/builtin.pom
%{_mavenpomdir}/ovirt-engine/dal.pom
%{_mavenpomdir}/ovirt-engine/scheduler.pom
%{_mavenpomdir}/ovirt-engine/searchbackend.pom
%{_mavenpomdir}/ovirt-engine/vdsbroker.pom

%{engine_data}/services/ovirt-engine
%{_unitdir}/ovirt-engine.service

Expand Down Expand Up @@ -1365,10 +1283,18 @@ fi
%license LICENSE
%{engine_data}/dbscripts/

%files restapi -f .mfiles-restapi
%files restapi
%license LICENSE
%{engine_restapi_war}/
%{engine_apidoc_war}/
%{_datadir}/maven-metadata/ovirt-engine-restapi.xml
%{_mavenpomdir}/ovirt-engine/restapi-parent.pom
%{_mavenpomdir}/ovirt-engine/interface.pom
%{_mavenpomdir}/ovirt-engine/common-parent.pom
%{_mavenpomdir}/ovirt-engine/interface-common-jaxrs.pom
%{_mavenpomdir}/ovirt-engine/restapi-definition.pom
%{_mavenpomdir}/ovirt-engine/restapi-jaxrs.pom
%{_mavenpomdir}/ovirt-engine/restapi-types.pom

%files webadmin-portal
%license LICENSE
Expand All @@ -1390,7 +1316,7 @@ fi
%{engine_data}/conf/ovirt-vmconsole-proxy-helper.conf
%{engine_etc}/ovirt-vmconsole-proxy-helper.conf.d/

%files tools -f .mfiles-tools
%files tools
%license LICENSE
%config %{_sysconfdir}/logrotate.d/ovirt-engine-notifier
%config(noreplace) %{engine_etc}/engine-config/engine-config.conf
Expand Down Expand Up @@ -1444,6 +1370,10 @@ fi
%{engine_etc}/engine-config/engine-config.*properties
%{engine_etc}/notifier/notifier.conf.d/
%{engine_etc}/ovirt-fence-kdump-listener.conf.d/
%{_datadir}/maven-metadata/ovirt-engine-tools.xml
%{_mavenpomdir}/ovirt-engine/extensions-tool.pom
%{_mavenpomdir}/ovirt-engine/sso-client-registration-tool.pom
%{_mavenpomdir}/ovirt-engine/tools.pom


%{_unitdir}/ovirt-engine-notifier.service
Expand Down
Loading

0 comments on commit 51b6f51

Please sign in to comment.