Git Product home page Git Product logo

Comments (8)

JonathanHenson avatar JonathanHenson commented on June 12, 2024

Thank you for your comments.

One thing I'll say. This is what we attempted to do. Each directory is, in essence, its own repo and each directory is a single concern.

The most important directory is aws-cpp-sdk-core. This directory has everything you need to talk to an Amazon Service and nothing more. Due to the fact that that is a fairly complex task, we decided to give you some extra goodies that we created as part of that task, such as reusable crypto interfaces and reusable http clients. All of those are necessary for that task. The other directories are self-contained compilation units. Most are actual service wrappers. The rest are tests.

Currently they are all in the same base repository because that helps with versioning and our export process. Also, bringing up a new github repo everytime Amazon launches a new service is not incredibly sustainable or scalable.

We have plans to open source our generator as some of the other AWS SDKs have done and at that time, we will likely delete the actual service directories (which would greatly reduce the size of this repository). We would just include the generator at that point.

Finally, I'm glad you are excited about this project. We were hoping the community would be enthusiastic about this project. As we gather more feedback, we'll be able to make better decisions about long term direction.

I'm going to leave this open as something for us to discuss and prioritize. If you have suggestions for how exactly you would like to restructure things, we'd love to hear about it.

from aws-sdk-cpp.

bingmann avatar bingmann commented on June 12, 2024

This is very nice, but I second the request for enabling use of only a subset of the interfaces.
E.g. we would want to use the S3 interface, but don't want to compile (also, but less important: include/download) all the other ones. In the current state, we cannot use it, and will have to resort to other libraries.
Maybe just enabling a subset of libraries via the main CMake is a simple fix? I tried just including cmake subdirs, but that didnt quite work, as the main cmake does the platform tests.
Other than that, I think for including the SDK in distros, the all-in-one solution is a good idea. The distros will split them up anyway.

from aws-sdk-cpp.

JonathanHenson avatar JonathanHenson commented on June 12, 2024

You can certainly just compile the directories you need. aws-cpp-sdk-core
and aws-cpp-sdk-s3 are all you need to compile to use s3. In that case,
just delete all add_subdirectoies but those two.
On Sep 13, 2015 8:48 AM, "Timo Bingmann" [email protected] wrote:

This is very nice, but I second the request for enabling use of only a
subset of the interfaces.
E.g. we would want to use the S3 interface, but don't want to compile
(also, but less important: include/download) all the other ones. In the
current state, we cannot use it, and will have to resort to other libraries.
Maybe just enabling a subset of libraries via the main CMake is a simple
fix? I tried just including cmake subdirs, but that didnt quite work, as
the main cmake does the platform tests.
Other than that, I think for including the SDK in distros, the all-in-one
solution is a good idea. The distros will split them up anyway.


Reply to this email directly or view it on GitHub
#10 (comment).

from aws-sdk-cpp.

bingmann avatar bingmann commented on June 12, 2024

Yes, but when using git submodules one doesnt really want to change the files.
for example, we include a pristine googletest via
add_subdirectory(extlib/googletest/googletest)
but that wont work with the SDK. We would have to delete the add_subdirectories (as you suggest).
Hence, a CMake variable like AWS_SDK_COMPONENTS would fix everything.

from aws-sdk-cpp.

JonathanHenson avatar JonathanHenson commented on June 12, 2024

When we add the generator to the code base, we'll certainly have to do that
for it to work.

I like the idea of adding a bunch of cmake args to allow users to choose
their libraries as well.

Why don't you fork and do that? Then your stuff can work and I can keep you
posted as to the status of the change?
On Sep 13, 2015 8:56 AM, "Timo Bingmann" [email protected] wrote:

Yes, but when using git submodules one doesnt really want to change the
files.
for example, we include a pristine googletest via
add_subdirectory(extlib/googletest/googletest)
but that wont work with the SDK. We would have to delete the
add_subdirectories (as you suggest).
Hence, a CMake variable like AWS_SDK_COMPONENTS would fix everything.


Reply to this email directly or view it on GitHub
#10 (comment).

from aws-sdk-cpp.

bingmann avatar bingmann commented on June 12, 2024

Okay, will do.

from aws-sdk-cpp.

JonathanHenson avatar JonathanHenson commented on June 12, 2024

Ok, the generator has been added to the build process and you can now build only the clients you need. See the updated readme for more info.

from aws-sdk-cpp.

skrat avatar skrat commented on June 12, 2024

I'm trying to do this, only add the subdirectories to my cmake project, but unfortunately, you're using CMAKE_PROJECT_NAME throughout, which resolves to my root project name and conflicts with my target, give it a shot, make a project and try to include just S3. A sample CMake project doing just this would be appreciated.

from aws-sdk-cpp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.