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

Introduction of a "session mode" configuration flag (enables MSRP). #3

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

tuijldert
Copy link
Contributor

Should enable/disable MSRP support (session mode SIMPLE)

@tuijldert
Copy link
Contributor Author

Hmmm, apparently one cannot create another pull request. So this one is for 2 consecutive changes: 1 for the config and 1 for the actual implementation.

@ibauersachs
Copy link
Member

Can you please rebase and solve the conflicts if you still want to get this merged?

@tuijldert
Copy link
Contributor Author

On it.
May take some time though...

@tuijldert
Copy link
Contributor Author

Done (I think).

Please check.

TIA,
Tom.

@ibauersachs
Copy link
Member

Thanks, but uhm, not sure what happened now, but Github shows me more than 250 commits and > 2500 files changed. This is impossible to review...

Are these your actual changes?
https://github.com/jitsi/jitsi/compare/master...tuijldert:msrp?expand=1

If so, can you please close this PR and create a new one?

@tuijldert
Copy link
Contributor Author

tuijldert commented May 31, 2016

Yes, that's a problem and I don't know how to solve it.
Git is still (and probably always will be) magic to me.
All I know is that I've tried to merge my repo with jitsi::main.
And if you look at the actual changes github shows you on the link you gave, you see exactly the 24 files with their relevant changes so reviewing shouldn't be a problem.

But I have absolutely no clue how to package that into a proper pull request...
Also, when I committed the changes, these were the only stashed changes that it showed/allowed me to commit so how this suddenly ends up as being 2200+ changes is beyond me.

Looking for pointers here cause the git documentation sure isn't helping...

@ibauersachs
Copy link
Member

Okay, so:

A rebase is usually done like this:

  1. bring the master branch of your fork up to date (see e.g. http://stackoverflow.com/questions/7244321/how-do-i-update-a-github-forked-repository)
  2. optional: push that back to github
  3. checkout your original/outdated msrp branch (git checkout msrp)
  4. execute git rebase master
  5. push these changes to github git push --force (force, because the rebase changes the history)

Number 4 will most likely cause conflicts. Solve them step by step, then do
git add . followed by git commit --amend and git rebase --continue.

Then follow up with whatever further changes are necessary. Some inputs:

  • Avoid any changes that are not directly related to msrp (e.g. the Javadoc changes in ProtocolProviderFactory.java)
  • All new files must have the current copyright header (Apache License, (c) Atlassian)
  • slf4j has been included in Jitsi for other developments since, remove this from your changes
  • Don't bundle msrp.jar into protocol-sip, it must be a standalone jar
    • If msrp.jar is already an OSGi bundle, add it to bundle-bundles, otherwise create a target bundle-msrp and add the necessary metadata
    • Add the necessary changes to felix.client.run.properties (and felix.unit.test.properties)
    • Add it to the .classpath so compilation with Eclipse is possible
  • Fix the formatting of the source according to the convention

@tuijldert
Copy link
Contributor Author

... the msrp.jar is bundled with protocol-sip as it cannot be used without it.
Doesn't that make sense?

@ibauersachs
Copy link
Member

No, because we don't want to repackage dependencies. This is mostly for Linux distros, as they want to reuse libraries already present on the system. While this might not (yet) be the case for msrp, it makes it easier in the long term.

@tuijldert
Copy link
Contributor Author

Ok, so how do I go about bundling it?

@ibauersachs
Copy link
Member

If https://java.net/projects/msrp/sources/svn/content/trunk/pom.xml is the source for this, change:
<package>jar</package> to <package>bundle</package> and add the maven-bundle-plugin to the build phase:

            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>3.0.1</version>
                <extensions>true</extensions>
                <configuration />
            </plugin>

If you run mvn package with this, it'll become an OSGi bundle.

In Jitsi's build.xml, add a line like <copy file="${lib.noinst}/libjitsi-1.0-SNAPSHOT.jar" tofile="${bundles.dest}/libjitsi.jar"/> (around line 1107). Then add msrp at run level 50 to lib/felix.client.run.properties and felix.unit.test.properties.

@tuijldert
Copy link
Contributor Author

removed unrelated changes
addition of copyright header
build modified (slf4j)
msrp jar bundled stand-alone

not sure about the formatting, I t_think_ everything is according convention...

Please check.

@ibauersachs ibauersachs added this to the 2.12 milestone Feb 2, 2017
@ibauersachs ibauersachs modified the milestones: 2.12, 2.14 Sep 29, 2017
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

2 participants