Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WICKET-6999] Update bundle plugin to support slf4j [1.7,3) #540

Merged
merged 1 commit into from Oct 7, 2022

Conversation

mattrpav
Copy link
Contributor

@mattrpav mattrpav commented Sep 29, 2022

  • Initial PR for review
  • Add a Karaf feature file to help with installs (and future itests)
  • Add bundle headers to wicket-websocket, etc
  • Fix OsgiClashingPackagesTest.collectProjectPackages() unit test
  • Finalize Require-Capability header yes|no, version various on branches?
  • Uncomment _noee = true to disable Require-Capability header

@mattrpav
Copy link
Contributor Author

At issue is the bundle plugin runs different at various maven phases. When combined with the enforcer plugin to restrict config to an execution, the bundle plugin definition will get chatty and redundant.

Thoughts?

@mattrpav
Copy link
Contributor Author

Commit f2edd61 fixes bundle plugin execution phase+goal to generate correct MANIFEST and allow for enforcer plugin to be maintained.

@mattrpav
Copy link
Contributor Author

mattrpav commented Sep 30, 2022

Much better with per-module properties per 174065b!

wicket-util:

Export-Package = 
	org.apache.wicket.util;version=10.0.0,
	org.apache.wicket.util.collections;version=10.0.0,
	org.apache.wicket.util.convert;version=10.0.0,
	org.apache.wicket.util.convert.converter;version=10.0.0,
	org.apache.wicket.util.crypt;version=10.0.0,
	org.apache.wicket.util.diff;version=10.0.0,
	org.apache.wicket.util.diff.myers;version=10.0.0,
	org.apache.wicket.util.encoding;version=10.0.0,
	org.apache.wicket.util.file;version=10.0.0,
	org.apache.wicket.util.io;version=10.0.0,
	org.apache.wicket.util.lang;version=10.0.0,
	org.apache.wicket.util.license;version=10.0.0,
	org.apache.wicket.util.listener;version=10.0.0,
	org.apache.wicket.util.markup.xhtml;version=10.0.0,
	org.apache.wicket.util.parse.metapattern;version=10.0.0,
	org.apache.wicket.util.parse.metapattern.parsers;version=10.0.0,
	org.apache.wicket.util.resource;version=10.0.0,
	org.apache.wicket.util.string;version=10.0.0,
	org.apache.wicket.util.string.interpolator;version=10.0.0,
	org.apache.wicket.util.thread;version=10.0.0,
	org.apache.wicket.util.time;version=10.0.0,
	org.apache.wicket.util.value;version=10.0.0,
	org.apache.wicket.util.visit;version=10.0.0,
	org.apache.wicket.util.watch;version=10.0.0,
	org.apache.wicket.util.xml;version=10.0.0
Import-Package = 
	org.slf4j;version="[1.7,3)",
	jakarta.servlet;version="[5.0,6)",
	jakarta.servlet.descriptor;version="[5.0,6)",
	jakarta.servlet.http;version="[5.0,6)",
	org.apache.commons.io;version="[1.4,2)",
	org.junit.jupiter.api;resolution:=optional;version="[5.8,6)",
	org.opentest4j;resolution:=optional;version="[1.2,2)",
	org.w3c.dom,
	org.xml.sax

wicket-request:

Export-Package = 
	org.apache.wicket.request;version=10.0.0,
	org.apache.wicket.request.flow;version=10.0.0,
	org.apache.wicket.request.handler;version=10.0.0,
	org.apache.wicket.request.handler.logger;version=10.0.0,
	org.apache.wicket.request.http;version=10.0.0,
	org.apache.wicket.request.http.flow;version=10.0.0,
	org.apache.wicket.request.http.handler;version=10.0.0,
	org.apache.wicket.request.mapper;version=10.0.0,
	org.apache.wicket.request.mapper.info;version=10.0.0,
	org.apache.wicket.request.mapper.parameter;version=10.0.0,
	org.apache.wicket.request.parameter;version=10.0.0
Import-Package = 
	org.slf4j;version="[1.7,3)",
	jakarta.servlet.http;version="[5.0,6)",
	org.apache.commons.collections4;version="[4.4,5)",
	org.apache.wicket.util;version="[10.0,11)",
	org.apache.wicket.util.encoding;version="[10.0,11)",
	org.apache.wicket.util.io;version="[10.0,11)",
	org.apache.wicket.util.lang;version="[10.0,11)",
	org.apache.wicket.util.string;version="[10.0,11)",
	org.apache.wicket.util.time;version="[10.0,11)"

wicket-core:

Export-Package = 
	org.apache.wicket;version=10.0.0,
	org.apache.wicket.ajax;version=10.0.0,
	org.apache.wicket.ajax.attributes;version=10.0.0,
	org.apache.wicket.ajax.form;version=10.0.0,
	org.apache.wicket.ajax.json;version=10.0.0,
	org.apache.wicket.ajax.markup.html;version=10.0.0,
	org.apache.wicket.ajax.markup.html.form;version=10.0.0,
	org.apache.wicket.ajax.markup.html.navigation.paging;version=10.0.0,
	org.apache.wicket.application;version=10.0.0,
	org.apache.wicket.authentication;version=10.0.0,
	org.apache.wicket.authentication.strategy;version=10.0.0,
	org.apache.wicket.authorization;version=10.0.0,
	org.apache.wicket.authorization.strategies;version=10.0.0,
	org.apache.wicket.authorization.strategies.action;version=10.0.0,
	org.apache.wicket.authorization.strategies.page;version=10.0.0,
	org.apache.wicket.behavior;version=10.0.0,
	org.apache.wicket.coep;version=10.0.0,
	org.apache.wicket.coop;version=10.0.0,
	org.apache.wicket.core.random;version=10.0.0,
	org.apache.wicket.core.request;version=10.0.0,
	org.apache.wicket.core.request.handler;version=10.0.0,
	org.apache.wicket.core.request.handler.logger;version=10.0.0,
	org.apache.wicket.core.request.mapper;version=10.0.0,
	org.apache.wicket.core.util.crypt;version=10.0.0,
	org.apache.wicket.core.util.file;version=10.0.0,
	org.apache.wicket.core.util.lang;version=10.0.0,
	org.apache.wicket.core.util.objects.checker;version=10.0.0,
	org.apache.wicket.core.util.resource;version=10.0.0,
	org.apache.wicket.core.util.resource.locator;version=10.0.0,
	org.apache.wicket.core.util.resource.locator.caching;version=10.0.0,
	org.apache.wicket.core.util.string;version=10.0.0,
	org.apache.wicket.core.util.string.interpolator;version=10.0.0,
	org.apache.wicket.core.util.watch;version=10.0.0,
	org.apache.wicket.csp;version=10.0.0,
	org.apache.wicket.css;version=10.0.0,
	org.apache.wicket.event;version=10.0.0,
	org.apache.wicket.feedback;version=10.0.0,
	org.apache.wicket.javascript;version=10.0.0,
	org.apache.wicket.markup;version=10.0.0,
	org.apache.wicket.markup.head;version=10.0.0,
	org.apache.wicket.markup.head.filter;version=10.0.0,
	org.apache.wicket.markup.head.http2;version=10.0.0,
	org.apache.wicket.markup.head.internal;version=10.0.0,
	org.apache.wicket.markup.html;version=10.0.0,
	org.apache.wicket.markup.html.basic;version=10.0.0,
	org.apache.wicket.markup.html.border;version=10.0.0,
	org.apache.wicket.markup.html.debug;version=10.0.0,
	org.apache.wicket.markup.html.form;version=10.0.0,
	org.apache.wicket.markup.html.form.upload;version=10.0.0,
	org.apache.wicket.markup.html.form.validation;version=10.0.0,
	org.apache.wicket.markup.html.image;version=10.0.0,
	org.apache.wicket.markup.html.image.resource;version=10.0.0,
	org.apache.wicket.markup.html.include;version=10.0.0,
	org.apache.wicket.markup.html.internal;version=10.0.0,
	org.apache.wicket.markup.html.link;version=10.0.0,
	org.apache.wicket.markup.html.list;version=10.0.0,
	org.apache.wicket.markup.html.media;version=10.0.0,
	org.apache.wicket.markup.html.media.audio;version=10.0.0,
	org.apache.wicket.markup.html.media.video;version=10.0.0,
	org.apache.wicket.markup.html.navigation.paging;version=10.0.0,
	org.apache.wicket.markup.html.pages;version=10.0.0,
	org.apache.wicket.markup.html.panel;version=10.0.0,
	org.apache.wicket.markup.loader;version=10.0.0,
	org.apache.wicket.markup.parser;version=10.0.0,
	org.apache.wicket.markup.parser.filter;version=10.0.0,
	org.apache.wicket.markup.renderStrategy;version=10.0.0,
	org.apache.wicket.markup.repeater;version=10.0.0,
	org.apache.wicket.markup.repeater.data;version=10.0.0,
	org.apache.wicket.markup.repeater.util;version=10.0.0,
	org.apache.wicket.markup.resolver;version=10.0.0,
	org.apache.wicket.markup.transformer;version=10.0.0,
	org.apache.wicket.mock;version=10.0.0,
	org.apache.wicket.model;version=10.0.0,
	org.apache.wicket.model.util;version=10.0.0,
	org.apache.wicket.page;version=10.0.0,
	org.apache.wicket.pageStore;version=10.0.0,
	org.apache.wicket.pageStore.crypt;version=10.0.0,
	org.apache.wicket.pageStore.disk;version=10.0.0,
	org.apache.wicket.protocol.http;version=10.0.0,
	org.apache.wicket.protocol.http.mock;version=10.0.0,
	org.apache.wicket.protocol.http.request;version=10.0.0,
	org.apache.wicket.protocol.http.servlet;version=10.0.0,
	org.apache.wicket.protocol.https;version=10.0.0,
	org.apache.wicket.request.component;version=10.0.0,
	org.apache.wicket.request.cycle;version=10.0.0,
	org.apache.wicket.request.handler.render;version=10.0.0,
	org.apache.wicket.request.handler.resource;version=10.0.0,
	org.apache.wicket.request.resource;version=10.0.0,
	org.apache.wicket.request.resource.caching;version=10.0.0,
	org.apache.wicket.request.resource.caching.version;version=10.0.0,
	org.apache.wicket.resource;version=10.0.0,
	org.apache.wicket.resource.bundles;version=10.0.0,
	org.apache.wicket.resource.loader;version=10.0.0,
	org.apache.wicket.response;version=10.0.0,
	org.apache.wicket.response.filter;version=10.0.0,
	org.apache.wicket.serialize;version=10.0.0,
	org.apache.wicket.serialize.java;version=10.0.0,
	org.apache.wicket.session;version=10.0.0,
	org.apache.wicket.settings;version=10.0.0,
	org.apache.wicket.util.cookies;version=10.0.0,
	org.apache.wicket.util.image;version=10.0.0,
	org.apache.wicket.util.reference;version=10.0.0,
	org.apache.wicket.util.template;version=10.0.0,
	org.apache.wicket.util.tester;version=10.0.0,
	org.apache.wicket.validation;version=10.0.0,
	org.apache.wicket.validation.validator;version=10.0.0
Import-Package = 
	org.slf4j;version="[1.7,3)",
	com.github.openjson;version="[1.0,2)",
	jakarta.servlet;version="[5.0,6)",
	jakarta.servlet.annotation;version="[5.0,6)",
	jakarta.servlet.descriptor;version="[5.0,6)",
	jakarta.servlet.http;version="[5.0,6)",
	org.apache.commons.collections4;version="[4.4,5)",
	org.apache.commons.collections4.map;version="[4.4,5)",
	org.apache.commons.fileupload2;version="[2.0,3)",
	org.apache.commons.fileupload2.disk;version="[2.0,3)",
	org.apache.commons.fileupload2.jaksrvlt;version="[2.0,3)",
	org.apache.commons.fileupload2.pub;version="[2.0,3)",
	org.apache.commons.fileupload2.util;version="[2.0,3)",
	org.apache.commons.io;version="[1.4,2)",
	org.apache.commons.io.input;version="[1.4,2)",
	org.apache.wicket.request;version="[10.0,11)",
	org.apache.wicket.request.flow;version="[10.0,11)",
	org.apache.wicket.request.handler;version="[10.0,11)",
	org.apache.wicket.request.handler.logger;version="[10.0,11)",
	org.apache.wicket.request.http;version="[10.0,11)",
	org.apache.wicket.request.http.flow;version="[10.0,11)",
	org.apache.wicket.request.http.handler;version="[10.0,11)",
	org.apache.wicket.request.mapper;version="[10.0,11)",
	org.apache.wicket.request.mapper.info;version="[10.0,11)",
	org.apache.wicket.request.mapper.parameter;version="[10.0,11)",
	org.apache.wicket.request.parameter;version="[10.0,11)",
	org.apache.wicket.util;version="[10.0,11)",
	org.apache.wicket.util.collections;version="[10.0,11)",
	org.apache.wicket.util.convert;version="[10.0,11)",
	org.apache.wicket.util.convert.converter;version="[10.0,11)",
	org.apache.wicket.util.crypt;version="[10.0,11)",
	org.apache.wicket.util.diff;version="[10.0,11)",
	org.apache.wicket.util.encoding;version="[10.0,11)",
	org.apache.wicket.util.file;version="[10.0,11)",
	org.apache.wicket.util.io;version="[10.0,11)",
	org.apache.wicket.util.lang;version="[10.0,11)",
	org.apache.wicket.util.listener;version="[10.0,11)",
	org.apache.wicket.util.parse.metapattern;version="[10.0,11)",
	org.apache.wicket.util.parse.metapattern.parsers;version="[10.0,11)",
	org.apache.wicket.util.resource;version="[10.0,11)",
	org.apache.wicket.util.string;version="[10.0,11)",
	org.apache.wicket.util.string.interpolator;version="[10.0,11)",
	org.apache.wicket.util.thread;version="[10.0,11)",
	org.apache.wicket.util.time;version="[10.0,11)",
	org.apache.wicket.util.value;version="[10.0,11)",
	org.apache.wicket.util.visit;version="[10.0,11)",
	org.apache.wicket.util.watch;version="[10.0,11)",
	org.danekja.java.util.function.serializable;version="[1.9,2)",
	org.junit.jupiter.api;resolution:=optional;version="[5.8,6)",
	org.junit.jupiter.api.extension;resolution:=optional;version="[5.8,6)"

wicket-auth-roles

Export-Package = 
	org.apache.wicket.authroles.authentication;version=10.0.0,
	org.apache.wicket.authroles.authentication.pages;version=10.0.0,
	org.apache.wicket.authroles.authentication.panel;version=10.0.0,
	org.apache.wicket.authroles.authorization.strategies.role;version=10.0.0,
	org.apache.wicket.authroles.authorization.strategies.role.annotations;version=10.0.0,
	org.apache.wicket.authroles.authorization.strategies.role.metadata;version=10.0.0
Import-Package = 
	org.apache.wicket;version="[10.0,11)",
	org.apache.wicket.authentication;version="[10.0,11)",
	org.apache.wicket.authorization;version="[10.0,11)",
	org.apache.wicket.authorization.strategies;version="[10.0,11)",
	org.apache.wicket.markup.html;version="[10.0,11)",
	org.apache.wicket.markup.html.form;version="[10.0,11)",
	org.apache.wicket.markup.html.panel;version="[10.0,11)",
	org.apache.wicket.model;version="[10.0,11)",
	org.apache.wicket.protocol.http;version="[10.0,11)",
	org.apache.wicket.request;version="[10.0,11)",
	org.apache.wicket.request.component;version="[10.0,11)",
	org.apache.wicket.request.mapper.parameter;version="[10.0,11)",
	org.apache.wicket.request.resource;version="[10.0,11)",
	org.apache.wicket.settings;version="[10.0,11)",
	org.apache.wicket.util.io;version="[10.0,11)",
	org.apache.wicket.util.lang;version="[10.0,11)",
	org.apache.wicket.util.string;version="[10.0,11)"

wicket-jmx

Export-Package = 
	org.apache.wicket.jmx;version=10.0.0,
	org.apache.wicket.jmx.wrapper;version=10.0.0
Import-Package = 
	org.slf4j;version="[1.7,3)",
	org.apache.wicket;version="[10.0,11)",
	org.apache.wicket.application;version="[10.0,11)",
	org.apache.wicket.authorization;version="[10.0,11)",
	org.apache.wicket.core.util.resource.locator;version="[10.0,11)",
	org.apache.wicket.markup;version="[10.0,11)",
	org.apache.wicket.markup.html;version="[10.0,11)",
	org.apache.wicket.protocol.http;version="[10.0,11)",
	org.apache.wicket.resource;version="[10.0,11)",
	org.apache.wicket.session;version="[10.0,11)",
	org.apache.wicket.settings;version="[10.0,11)",
	org.apache.wicket.util.crypt;version="[10.0,11)",
	org.apache.wicket.util.file;version="[10.0,11)",
	org.apache.wicket.util.lang;version="[10.0,11)"

wicket-devutils

Export-Package = 
	org.apache.wicket.devutils;version=10.0.0,
	org.apache.wicket.devutils.debugbar;version=10.0.0,
	org.apache.wicket.devutils.inspector;version=10.0.0,
	org.apache.wicket.devutils.pagestore;version=10.0.0,
	org.apache.wicket.devutils.pagestore.browser;version=10.0.0,
	org.apache.wicket.devutils.stateless;version=10.0.0
Import-Package = 
	org.slf4j;version="[1.7,3)",
	org.apache.wicket;version="[10.0,11)",
	org.apache.wicket.ajax;version="[10.0,11)",
	org.apache.wicket.ajax.form;version="[10.0,11)",
	org.apache.wicket.ajax.markup.html;version="[10.0,11)",
	org.apache.wicket.ajax.markup.html.form;version="[10.0,11)",
	org.apache.wicket.application;version="[10.0,11)",
	org.apache.wicket.behavior;version="[10.0,11)",
	org.apache.wicket.core.util.lang;version="[10.0,11)",
	org.apache.wicket.extensions.markup.html.repeater.data.grid;version="[10.0,11)",
	org.apache.wicket.extensions.markup.html.repeater.data.table;version="[10.0,11)",
	org.apache.wicket.extensions.markup.html.repeater.tree;version="[10.0,11)",
	org.apache.wicket.extensions.markup.html.repeater.tree.table;version="[10.0,11)",
	org.apache.wicket.extensions.markup.html.repeater.util;version="[10.0,11)",
	org.apache.wicket.markup;version="[10.0,11)",
	org.apache.wicket.markup.head;version="[10.0,11)",
	org.apache.wicket.markup.html;version="[10.0,11)",
	org.apache.wicket.markup.html.basic;version="[10.0,11)",
	org.apache.wicket.markup.html.debug;version="[10.0,11)",
	org.apache.wicket.markup.html.form;version="[10.0,11)",
	org.apache.wicket.markup.html.image;version="[10.0,11)",
	org.apache.wicket.markup.html.link;version="[10.0,11)",
	org.apache.wicket.markup.html.list;version="[10.0,11)",
	org.apache.wicket.markup.html.navigation.paging;version="[10.0,11)",
	org.apache.wicket.markup.html.panel;version="[10.0,11)",
	org.apache.wicket.markup.repeater;version="[10.0,11)",
	org.apache.wicket.model;version="[10.0,11)",
	org.apache.wicket.page;version="[10.0,11)",
	org.apache.wicket.pageStore;version="[10.0,11)",
	org.apache.wicket.protocol.http;version="[10.0,11)",
	org.apache.wicket.request;version="[10.0,11)",
	org.apache.wicket.request.component;version="[10.0,11)",
	org.apache.wicket.request.mapper.parameter;version="[10.0,11)",
	org.apache.wicket.request.resource;version="[10.0,11)",
	org.apache.wicket.resource;version="[10.0,11)",
	org.apache.wicket.settings;version="[10.0,11)",
	org.apache.wicket.util.io;version="[10.0,11)",
	org.apache.wicket.util.lang;version="[10.0,11)",
	org.apache.wicket.util.string;version="[10.0,11)",
	org.apache.wicket.util.visit;version="[10.0,11)"

wicket-extensions;

Export-Package = 
	org.apache.wicket.extensions;version=10.0.0,
	org.apache.wicket.extensions.ajax;version=10.0.0,
	org.apache.wicket.extensions.ajax.markup.html;version=10.0.0,
	org.apache.wicket.extensions.ajax.markup.html.autocomplete;version=10.0.0,
	org.apache.wicket.extensions.ajax.markup.html.form.upload;version=10.0.0,
	org.apache.wicket.extensions.ajax.markup.html.modal;version=10.0.0,
	org.apache.wicket.extensions.ajax.markup.html.modal.theme;version=10.0.0,
	org.apache.wicket.extensions.ajax.markup.html.repeater;version=10.0.0,
	org.apache.wicket.extensions.ajax.markup.html.repeater.data.sort;version=10.0.0,
	org.apache.wicket.extensions.ajax.markup.html.repeater.data.table;version=10.0.0,
	org.apache.wicket.extensions.ajax.markup.html.tabs;version=10.0.0,
	org.apache.wicket.extensions.breadcrumb;version=10.0.0,
	org.apache.wicket.extensions.breadcrumb.panel;version=10.0.0,
	org.apache.wicket.extensions.captcha.kittens;version=10.0.0,
	org.apache.wicket.extensions.captcha.kittens.images;version=10.0.0,
	org.apache.wicket.extensions.markup.html.basic;version=10.0.0,
	org.apache.wicket.extensions.markup.html.captcha;version=10.0.0,
	org.apache.wicket.extensions.markup.html.form;version=10.0.0,
	org.apache.wicket.extensions.markup.html.form.datetime;version=10.0.0,
	org.apache.wicket.extensions.markup.html.form.palette;version=10.0.0,
	org.apache.wicket.extensions.markup.html.form.palette.component;version=10.0.0,
	org.apache.wicket.extensions.markup.html.form.palette.theme;version=10.0.0,
	org.apache.wicket.extensions.markup.html.form.select;version=10.0.0,
	org.apache.wicket.extensions.markup.html.image.resource;version=10.0.0,
	org.apache.wicket.extensions.markup.html.repeater.data.grid;version=10.0.0,
	org.apache.wicket.extensions.markup.html.repeater.data.sort;version=10.0.0,
	org.apache.wicket.extensions.markup.html.repeater.data.table;version=10.0.0,
	org.apache.wicket.extensions.markup.html.repeater.data.table.export;version=10.0.0,
	org.apache.wicket.extensions.markup.html.repeater.data.table.filter;version=10.0.0,
	org.apache.wicket.extensions.markup.html.repeater.tree;version=10.0.0,
	org.apache.wicket.extensions.markup.html.repeater.tree.content;version=10.0.0,
	org.apache.wicket.extensions.markup.html.repeater.tree.nested;version=10.0.0,
	org.apache.wicket.extensions.markup.html.repeater.tree.table;version=10.0.0,
	org.apache.wicket.extensions.markup.html.repeater.tree.theme;version=10.0.0,
	org.apache.wicket.extensions.markup.html.repeater.tree.theme.human;version=10.0.0,
	org.apache.wicket.extensions.markup.html.repeater.tree.theme.windows;version=10.0.0,
	org.apache.wicket.extensions.markup.html.repeater.util;version=10.0.0,
	org.apache.wicket.extensions.markup.html.tabs;version=10.0.0,
	org.apache.wicket.extensions.model;version=10.0.0,
	org.apache.wicket.extensions.rating;version=10.0.0,
	org.apache.wicket.extensions.requestlogger;version=10.0.0,
	org.apache.wicket.extensions.util.encoding;version=10.0.0,
	org.apache.wicket.extensions.validation.validator;version=10.0.0,
	org.apache.wicket.extensions.wizard;version=10.0.0,
	org.apache.wicket.extensions.wizard.dynamic;version=10.0.0
Import-Package = 
	org.slf4j;version="[1.7,3)",
	com.fasterxml.jackson.databind;resolution:=optional;version="[2.10,3)",
	com.fasterxml.jackson.databind.introspect;resolution:=optional;version="[2.10,3)",
	com.fasterxml.jackson.databind.ser;resolution:=optional;version="[2.10,3)",
	com.fasterxml.jackson.databind.ser.impl;resolution:=optional;version="[2.10,3)",
	com.github.openjson;version="[1.0,2)",
	jakarta.servlet;version="[5.0,6)",
	jakarta.servlet.http;version="[5.0,6)",
	org.apache.commons.fileupload2;version="[2.0,3)",
	org.apache.wicket;version="[10.0,11)",
	org.apache.wicket.ajax;version="[10.0,11)",
	org.apache.wicket.ajax.attributes;version="[10.0,11)",
	org.apache.wicket.ajax.form;version="[10.0,11)",
	org.apache.wicket.ajax.json;version="[10.0,11)",
	org.apache.wicket.ajax.markup.html;version="[10.0,11)",
	org.apache.wicket.ajax.markup.html.form;version="[10.0,11)",
	org.apache.wicket.ajax.markup.html.navigation.paging;version="[10.0,11)",
	org.apache.wicket.behavior;version="[10.0,11)",
	org.apache.wicket.core.request;version="[10.0,11)",
	org.apache.wicket.core.request.handler;version="[10.0,11)",
	org.apache.wicket.core.util.lang;version="[10.0,11)",
	org.apache.wicket.core.util.string;version="[10.0,11)",
	org.apache.wicket.feedback;version="[10.0,11)",
	org.apache.wicket.markup;version="[10.0,11)",
	org.apache.wicket.markup.head;version="[10.0,11)",
	org.apache.wicket.markup.html;version="[10.0,11)",
	org.apache.wicket.markup.html.basic;version="[10.0,11)",
	org.apache.wicket.markup.html.border;version="[10.0,11)",
	org.apache.wicket.markup.html.form;version="[10.0,11)",
	org.apache.wicket.markup.html.form.upload;version="[10.0,11)",
	org.apache.wicket.markup.html.form.validation;version="[10.0,11)",
	org.apache.wicket.markup.html.image;version="[10.0,11)",
	org.apache.wicket.markup.html.link;version="[10.0,11)",
	org.apache.wicket.markup.html.list;version="[10.0,11)",
	org.apache.wicket.markup.html.navigation.paging;version="[10.0,11)",
	org.apache.wicket.markup.html.panel;version="[10.0,11)",
	org.apache.wicket.markup.parser;version="[10.0,11)",
	org.apache.wicket.markup.repeater;version="[10.0,11)",
	org.apache.wicket.markup.repeater.data;version="[10.0,11)",
	org.apache.wicket.model;version="[10.0,11)",
	org.apache.wicket.model.util;version="[10.0,11)",
	org.apache.wicket.protocol.http;version="[10.0,11)",
	org.apache.wicket.protocol.http.request;version="[10.0,11)",
	org.apache.wicket.protocol.http.servlet;version="[10.0,11)",
	org.apache.wicket.request;version="[10.0,11)",
	org.apache.wicket.request.cycle;version="[10.0,11)",
	org.apache.wicket.request.handler.resource;version="[10.0,11)",
	org.apache.wicket.request.http;version="[10.0,11)",
	org.apache.wicket.request.mapper.parameter;version="[10.0,11)",
	org.apache.wicket.request.resource;version="[10.0,11)",
	org.apache.wicket.resource;version="[10.0,11)",
	org.apache.wicket.response;version="[10.0,11)",
	org.apache.wicket.settings;version="[10.0,11)",
	org.apache.wicket.util.convert;version="[10.0,11)",
	org.apache.wicket.util.convert.converter;version="[10.0,11)",
	org.apache.wicket.util.io;version="[10.0,11)",
	org.apache.wicket.util.lang;version="[10.0,11)",
	org.apache.wicket.util.resource;version="[10.0,11)",
	org.apache.wicket.util.string;version="[10.0,11)",
	org.apache.wicket.util.tester;version="[10.0,11)",
	org.apache.wicket.util.value;version="[10.0,11)",
	org.apache.wicket.util.visit;version="[10.0,11)",
	org.apache.wicket.validation;version="[10.0,11)",
	org.apache.wicket.validation.validator;version="[10.0,11)",
	org.danekja.java.util.function.serializable;version="[1.9,2)"

@mattrpav
Copy link
Contributor Author

mattrpav commented Sep 30, 2022

NOTE: Generate export packages list for wicket-core

% find . -name "*.java" -exec grep "^package" {} \; | cut -f2 -d" " | sort -u

Generate import package list

find . -name "*.java" -exec grep -i "^import" {} \; | sort -u |grep -v "java." | cut -f2 -d" " | cut -f1 -d";"  | sed -e 's/\.[^\.]*$//' | sort -u

@mattrpav mattrpav force-pushed the WICKET-6999 branch 2 times, most recently from 125eb6c to 73bbe37 Compare September 30, 2022 18:51
@mattrpav
Copy link
Contributor Author

I've removed the DynamicImport-Package: * rule. I think that should only be needed by the application wars to support modular pages and allow Wicket to instantiate those classes from the war's classpath.

@mattrpav mattrpav marked this pull request as ready for review September 30, 2022 19:00
@dstoch
Copy link
Contributor

dstoch commented Sep 30, 2022

I've removed the DynamicImport-Package: * rule. I think that should only be needed by the application wars to support modular pages and allow Wicket to instantiate those classes from the war's classpath.

I think it would be better not to remove DynamicImport-Package: *, because of deserialization problems in OSGi env (Wicket need to know all classes serialized inside components from other bundles). It can be achieve in different way, but I think it requires more changes in the framework.

@mattrpav
Copy link
Contributor Author

I've removed the DynamicImport-Package: * rule. I think that should only be needed by the application wars to support modular pages and allow Wicket to instantiate those classes from the war's classpath.

I think it would be better not to remove DynamicImport-Package: *, because of deserialization problems in OSGi env (Wicket need to know all classes serialized inside components from other bundles). It can be achieve in different way, but I think it requires more changes in the framework.

@dstoch the actual application bundle would need to do that as they require. Further backing evidence is the Wicket 8.x bundles do not have 'DynamicImport-Package: *' specified.

@dstoch
Copy link
Contributor

dstoch commented Sep 30, 2022

@dstoch the actual application bundle would need to do that as they require. Further backing evidence is the Wicket 8.x bundles do not have 'DynamicImport-Package: *' specified.

MANIFESTs are broken since Wicket 8.x, so it is not a good evidence ;).

@mattrpav
Copy link
Contributor Author

MANIFESTs are broken since Wicket 8.x, so it is not a good evidence ;).

What is broken? We've been running unmodified bundles on Wicket 8.x for years.

@dstoch
Copy link
Contributor

dstoch commented Sep 30, 2022

I described a problem in this issue description in JIRA. Eg. without exporting org.apache.wicket.markup.html.internal package is not possible to use Wicket in OSGi. Do you really use it in OSGi without problems? I wonder how is this possible, maybe you don't use the code which requires abstractions from this packages?

@mattrpav
Copy link
Contributor Author

I described a problem in this issue description in JIRA. Eg. without exporting org.apache.wicket.markup.html.internal package is not possible to use Wicket in OSGi. Do you really use it in OSGi without problems? I wonder how is this possible, maybe you don't use the code which requires abstractions from this packages?

Correct. We do not extend anything from that package. If you see in the above, the new OSGi wiring includes exporting that package from wicket-core.

@mattrpav
Copy link
Contributor Author

I described a problem in this issue description in JIRA. Eg. without exporting org.apache.wicket.markup.html.internal package is not possible to use Wicket in OSGi. Do you really use it in OSGi without problems? I wonder how is this possible, maybe you don't use the code which requires abstractions from this packages?

Keep in mind-- if you need to extend packages that have not been exported you can create a fragment bundle to attach your extension classes. Generally, things like 'internal' are not exported since they are not part of a proper API or SPI.

@dstoch
Copy link
Contributor

dstoch commented Sep 30, 2022

Generally, things like 'internal' are not exported since they are not part of a proper API or SPI.

In OSGi world it is indeed. But as I wrote in description in Wicket they are part of API (maybe these packages should not have "internal" word in name).

@mattrpav
Copy link
Contributor Author

Generally, things like 'internal' are not exported since they are not part of a proper API or SPI.

In OSGi world it is indeed. But as I wrote in description in Wicket they are part of API (maybe these packages should not have "internal" word in name).

Agreed, Wicket's API+SPI definition and encapsulation could be better. The API+SPI should be separated into its own jar and only include interfaces and POJO classes. I created https://issues.apache.org/jira/browse/WICKET-6855 to open discussion on this, but I didn't articulate the use case in a meaningful way.

Copy link
Contributor

@bitstorm bitstorm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your PR! When it'ok for you I will proceed merging it.

@mattrpav
Copy link
Contributor Author

mattrpav commented Oct 1, 2022

Let me get a couple more done. For sure we should have the web socket bundles in good shape

Copy link
Member

@martin-g martin-g left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OsgiClashingPackagesTest.collectProjectPackages() is failing.

pom.xml Outdated
<Import-Package>org.apache.wicket*,
org.junit.jupiter*</Import-Package>
<DynamicImport-Package>*</DynamicImport-Package>
<Require-Capability>osgi.ee;filter:="(&amp;(osgi.ee=JavaSE)(version=11.0))"</Require-Capability>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This probably should be version 17.0 for master and 11 for wicket-9.x

pom.xml Outdated
<_nouses>true</_nouses>
<!-- _noee>true</_noee -->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be removed, right ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OsgiClashingPackagesTest.collectProjectPackages() is failing.

I'll look into that.

osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=11.0))"
This probably should be version 17.0 for master and 11 for wicket-9.x

Does Wicket master have runtime require on JDK 17?

This could be removed, right ?

This flag would prevent the Require-Capability header from being generated.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For Wicket, I think it is safe to remove the Require-Capability header altogether. (ie.. use the _noee = true flag.

Web app users are going to need to know full stack to align JDK + Karaf + Pax Web + Wicket at all times. This header only provides a pre-wiring check to fast fail.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does Wicket master have runtime require on JDK 17?

Yes!

@mattrpav
Copy link
Contributor Author

mattrpav commented Oct 5, 2022

New feature to ease installs on Apache Karaf

karaf@root()> repo-add mvn:org.apache.wicket/wicket/10.0.0-M1-SNAPSHOT/xml/features
Adding feature url mvn:org.apache.wicket/wicket/10.0.0-M1-SNAPSHOT/xml/features
karaf@root()> feature:list | grep -i wicket
wicket-core                       │ 10.0.0.M1-SNAPSHOT │          │ Uninstalled │ org.apache.wicket.wicket-10.0.0-M1-SNAPSHOT │
karaf@root()> feature:info wicket-core
Feature wicket-core 10.0.0.M1-SNAPSHOT
Feature has no configuration
Feature has no configuration files
Feature has no dependencies.
Feature contains followed bundles:
  mvn:com.github.openjson/openjson/1.0.12
  mvn:commons-io/commons-io/2.11.0
  mvn:commons-fileupload/commons-fileupload/2.0-SNAPSHOT
  mvn:org.apache.commons/commons-collections4/4.4
  mvn:org.danekja/jdk-serializable-functional/1.9.0
  mvn:org.apache.wicket/wicket-util/10.0.0-M1-SNAPSHOT
  mvn:org.apache.wicket/wicket-request/10.0.0-M1-SNAPSHOT
  mvn:org.apache.wicket/wicket-core/10.0.0-M1-SNAPSHOT
  mvn:org.apache.wicket/wicket-auth-roles/10.0.0-M1-SNAPSHOT
  mvn:org.apache.wicket/wicket-devutils/10.0.0-M1-SNAPSHOT
  mvn:org.apache.wicket/wicket-extensions/10.0.0-M1-SNAPSHOT
  mvn:org.apache.wicket/wicket-jmx/10.0.0-M1-SNAPSHOT
Feature has no conditionals.

@mattrpav
Copy link
Contributor Author

mattrpav commented Oct 5, 2022

Ready for final review and/or merge

I updated the rest of the modules-- I don't use guice, spring, velocity etc so don't have a test for them. The bundles look like they generated correctly.

I did test installing websocket bundles and they wire up correctly.

Osgi test passed as soon as the rest of the bundles were updated

I added a karaf feature file to ease installation

@mattrpav
Copy link
Contributor Author

mattrpav commented Oct 6, 2022

Updated user guide w/ Apache Karaf feature info

wicket-feature-docs

@bitstorm bitstorm merged commit 41baae7 into apache:master Oct 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants