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

Create OS X build product #655

Closed
zgramana opened this issue Apr 10, 2015 · 19 comments
Closed

Create OS X build product #655

zgramana opened this issue Apr 10, 2015 · 19 comments
Assignees
Milestone

Comments

@zgramana
Copy link
Contributor

No description provided.

@zgramana zgramana added this to the 1.1.0 milestone Apr 10, 2015
@zgramana zgramana added the ready label Apr 10, 2015
@snej
Copy link
Contributor

snej commented Apr 10, 2015

Should just be an addition to the Jenkins build script. It needs to build the CBL Mac and CBL Listener Mac targets. Note that the build products have the same names as the iOS ones, so they need to be kept in separate folders clearly labeled as being for Mac OS.

@pasin
Copy link
Contributor

pasin commented Apr 14, 2015

@ashvindersingh, could you also add test the OSX build in your XCODE server as well?

@pasin
Copy link
Contributor

pasin commented Apr 15, 2015

Per talking with @ashvindersingh, Ashvender will talk to the build team to setup the jenkin build for OSX.

@michaelkwok
Copy link
Contributor

So we are looking to add mac-osx build on top of the existing iOS for couchbase-lite-ios. I like to confirm a few things.

  1. which xcodeproj does it use?
  2. any additional dependency?
  3. any new build instructions?

@snej
Copy link
Contributor

snej commented Apr 16, 2015

Same Xcode project. See my comment above on what targets to build.

@michaelkwok
Copy link
Contributor

I will add those 2 targets for MAC. I also need to update the build script to separate the mac vs ios builds.

@pasin
Copy link
Contributor

pasin commented Apr 16, 2015

@michaelkwok, thanks a lot for your help.

@michaelkwok
Copy link
Contributor

Here are a few changes right off the bat.

  1. Currently, ios package is comprised of cbl ios, cbl listener ios, liteserv, etc.
    For macosx package, it be cbl mac, cbl listener mac, liteserve, etc.
  2. I think it would make more sense to change the package name from couchbase-lite-ios-xxx.zip to couchbase-lite-macosx-xxx.zip since the final product is actually a macosx. That's something I can do so let me know if you see any drawback.
  3. Archive both mac and ios to latestbuilds for internal consumption.
  4. Stop putting builds on S3.

@michaelkwok
Copy link
Contributor

In #4, I am referring to internal builds. Release builds still go to S3.

@pasin pasin added in progress and removed ready labels Apr 16, 2015
@snej
Copy link
Contributor

snej commented Apr 17, 2015

I think it would make more sense to change the package name from couchbase-lite-ios-xxx.zip to couchbase-lite-macosx-xxx.zip

Are you creating a new package? If so, yeah, that's a good name.

@ashvindersingh
Copy link

I have added the Mac Unit tests to Xcode server. The tests will run once daily.

@michaelkwok
Copy link
Contributor

@snej, I have created the new macosx as a separate package. The macosx build generates this library Release-CBLJSViewCompiler-ios-universal/libCBLJSViewCompiler.a, same as the ios build. Does macosx need to include this library? The reason I ask is because the name ios package includes this library. But the name Release-CBLJSViewCompiler-ios-universal almost suggest it's not for macosx.

@snej
Copy link
Contributor

snej commented Apr 21, 2015

Nope, just ignore that library in the Mac build.

@michaelkwok
Copy link
Contributor

The job build_cblite_ios_master is now building both ios and macosx. All results are now kept in our internal latestbuilds.

http://latestbuilds.hq.couchbase.com/couchbase-lite-ios

@snej
Copy link
Contributor

snej commented Apr 21, 2015

👍 For the record, Pasin and I found some issues with the content of the archive and Michael is fixing them now.

@michaelkwok
Copy link
Contributor

Jens/Pasin, can you make sure I didn't strip too much from macosx and also verify ios builds are the same as before? Nothing changed on ios but I just want to make sure I didn't overlook something.

http://latestbuilds.hq.couchbase.com/couchbase-lite-ios/macosx/0.0.0/0.0.0-378/
http://latestbuilds.hq.couchbase.com/couchbase-lite-ios/ios/0.0.0/0.0.0-378/

@pasin
Copy link
Contributor

pasin commented Apr 23, 2015

I checked the OSX framework structure with Jens and it seems to be correct now.

A couple things apart that:

  1. There is no documentation zip files included in the macosx folder. Technically, the content of the ios and osx documentation is the same.
  2. Can you also remove JavaScriptCore.framework from ios's Extras folder? The file is no longer needed as we stop supporting iOS6 and removing it will make the zip file smaller as well.

@michaelkwok
Copy link
Contributor

I have removed JavaScriptCore.framework from ios "Extras". Thanks!

@pasin
Copy link
Contributor

pasin commented Apr 29, 2015

I think this task is done. Close the issue now. Thanks a lot @michaelkwok .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants