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

General build improvements #165

Closed

Conversation

matteocampana-zz
Copy link

With this PR we have these improvements:

  • creation of a single jar containing all the dependencies required by JVB;
  • the jar will contain in the manifest the SHA-1 taken from the last commit;
  • the distributable package will contain a reference to the SHA-1 in the filename, and also an empty sip-communicator.properties file useful to eventually configure some parameters for libjitsi or JVB;

NOTES:

  • I tested only the linux-x64 package since I don't have Windows or Mac OSX machines available;
  • During the package process, the Maven shade plugins signals some overlapping classes in the dependencies:
    [WARNING] xmlpull-1.1.3.4a.jar, xpp3-1.1.4c.jar define 4 overlapping classes:
    [WARNING] - org.xmlpull.v1.XmlPullParserException
    [WARNING] - org.xmlpull.v1.XmlSerializer
    [WARNING] - org.xmlpull.v1.XmlPullParser
    [WARNING] - org.xmlpull.v1.XmlPullParserFactory
    [WARNING] slf4j-simple-1.6.1.jar, slf4j-jdk14-1.7.7.jar define 3 overlapping classes:
    [WARNING] - org.slf4j.impl.StaticMarkerBinder
    [WARNING] - org.slf4j.impl.StaticLoggerBinder
    [WARNING] - org.slf4j.impl.StaticMDCBinder
    [WARNING] org.apache.felix.framework-4.4.0.jar, org.apache.felix.main-4.4.0.jar define 163 overlapping classes:
    [WARNING] - org.osgi.framework.namespace.PackageNamespace
    [WARNING] - org.osgi.framework.hooks.bundle.CollisionHook
    [WARNING] - org.apache.felix.framework.BundleRevisionDependencies
    [WARNING] - org.apache.felix.framework.util.WeakZipFileFactory$WeakZipFile
    [WARNING] - org.apache.felix.framework.cache.Content
    [WARNING] - org.apache.felix.framework.util.VersionRange
    [WARNING] - org.apache.felix.framework.PackageAdminImpl$2
    [WARNING] - org.apache.felix.framework.ServiceRegistrationImpl$ServiceFactoryPrivileged
    [WARNING] - org.apache.felix.framework.FrameworkStartLevelImpl$1
    [WARNING] - org.apache.felix.framework.util.EventDispatcher$3
    [WARNING] - 153 more...
    [WARNING] jitsi-lgpl-dependencies-1.0-SNAPSHOT.jar, libjitsi-1.0-SNAPSHOT.jar define 4 overlapping classes:
    [WARNING] - org.jitsi.impl.neomedia.codec.FFmpeg
    [WARNING] - org.jitsi.util.JNIUtils
    [WARNING] - org.jitsi.impl.neomedia.codec.audio.g722.JNIEncoder
    [WARNING] - org.jitsi.impl.neomedia.codec.audio.g722.JNIDecoder
    [WARNING] org.apache.felix.framework-4.4.0.jar, org.osgi.core-4.3.1.jar, org.apache.felix.main-4.4.0.jar define 82 overlapping classes:
    [WARNING] - org.osgi.framework.AdminPermission$1
    [WARNING] - org.osgi.framework.FrameworkUtil$FilterImpl$Parser
    [WARNING] - org.osgi.framework.Bundle
    [WARNING] - org.osgi.framework.FrameworkUtil$DNChainMatching
    [WARNING] - org.osgi.framework.launch.FrameworkFactory
    [WARNING] - org.osgi.framework.PackagePermission
    [WARNING] - org.osgi.framework.hooks.service.EventHook
    [WARNING] - org.osgi.framework.AdaptPermissionCollection
    [WARNING] - org.osgi.framework.ServicePermission$1
    [WARNING] - org.osgi.framework.FrameworkUtil
    [WARNING] - 72 more...
    [WARNING] core-2.0.0.jar, tinder-1.2.3.jar define 17 overlapping classes:
    [WARNING] - org.jivesoftware.util.FastDateFormat$UnpaddedNumberField
    [WARNING] - org.jivesoftware.util.FastDateFormat$TimeZoneDisplayKey
    [WARNING] - org.jivesoftware.util.FastDateFormat$Rule
    [WARNING] - org.jivesoftware.util.FastDateFormat$TwoDigitMonthField
    [WARNING] - org.jivesoftware.util.FastDateFormat$NumberRule
    [WARNING] - org.jivesoftware.util.FastDateFormat$Pair
    [WARNING] - org.jivesoftware.util.FastDateFormat$TwoDigitYearField
    [WARNING] - org.jivesoftware.util.FastDateFormat$UnpaddedMonthField
    [WARNING] - org.jivesoftware.util.FastDateFormat$TwoDigitNumberField
    [WARNING] - org.jivesoftware.util.FastDateFormat$TwelveHourField
    [WARNING] - 7 more...

I checked these dependencies and it seems that the version in the final jar is the right one, and JVB is working without issues.

@jitsi-jenkins
Copy link

Hi, thanks for your contribution!
If you haven't already done so, could you please make sure you sign our CLA (https://jitsi.org/icla for individuals and https://jitsi.org/ccla for corporations)? We would unfortunately be unable to merge your patch unless we have that piece :(.

@bgrozev
Copy link
Member

bgrozev commented Mar 15, 2016

Thank you for the contribution! Please disregard the message above, we do have the CLA.

I haven't looked at all the changes, but the change from zip to tgz worries me. I would be all for it, were it not for existing infrastructure and scripts people use, which assume a zip. :(

If the commits could be split into multiple PRs that would make it easier to review and merge.

@matteocampana-zz
Copy link
Author

You're right this could break some existing infrastructure.
I'll revert this change and split the overall commits into multiple PRs.

@matteocampana-zz
Copy link
Author

I'm going to create 3 separate PRs.

@matteocampana-zz matteocampana-zz deleted the build_improvements branch March 16, 2016 15:34
bbaldino pushed a commit to bbaldino/jitsi-videobridge that referenced this pull request Jan 22, 2020
* Make FakeClock instantiable without spy().

This removes Mockito overhead from its method calls, speeding up BandwidthEstimationTest substantially.

* Put DtlsTest's PcapWriter behind a debug flag.

* Simplify DtlsTest's PcapWriter conditional.
bbaldino pushed a commit to bbaldino/jitsi-videobridge that referenced this pull request Sep 24, 2020
* Make FakeClock instantiable without spy().

This removes Mockito overhead from its method calls, speeding up BandwidthEstimationTest substantially.

* Put DtlsTest's PcapWriter behind a debug flag.

* Simplify DtlsTest's PcapWriter conditional.
JonathanLennox added a commit to JonathanLennox/jitsi-videobridge that referenced this pull request Jun 1, 2022
* Make FakeClock instantiable without spy().

This removes Mockito overhead from its method calls, speeding up BandwidthEstimationTest substantially.

* Put DtlsTest's PcapWriter behind a debug flag.

* Simplify DtlsTest's PcapWriter conditional.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants