Comments (8)
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.
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.
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.
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.
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.
Okay, will do.
from aws-sdk-cpp.
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.
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)
- How to disable Content-MD5 header with S3 PutObject request HOT 1
- Build failed for version 1.9.379 HOT 2
- Add C++20 modules support HOT 1
- Aws::Crt::ApiAllocator()", referenced from: Aws::Client::AWSAuthV4Signer::SignRequestWithSigV4a(Aws::Http::HttpRequest&, char const*, char const*, bool, long long, Aws::Crt::Auth::SignatureType) const in libaws-cpp-sdk-core.a[2](ub_core.cpp.o) HOT 3
- DefaultRateLimiter get stuck indefinitely HOT 4
- 10M memory leave after ShutdownAPI called for 1000 client created HOT 1
- AWS C++ SDK not compiling in Visual Studio 2019 HOT 4
- Http request failes due to WinHTTP error code 87 HOT 9
- S3-CRT Client signature error on s3 object keys with special characters HOT 5
- Using AWS C++ SDK with gcc-g++11 HOT 5
- Segmentation fault occured in Aws::InitAPI when called by static object , previsously working for aws sdk version 1.8.186 HOT 3
- libcrypto linking issue with AWS SDK 1.11.285 HOT 2
- Missing debug PDB files when building and installing with cmake HOT 4
- Unable to compile SDK with older windows SDK HOT 6
- fatal error: CommonCrypto/CommonDigest.h: No such file or directory HOT 16
- There is no possibility to omit double file reading caused by checksum calculation HOT 4
- Destructor S3CrtClient::~S3CrtClient() hangs, as of release 1.11.195 HOT 7
- S3 crt client timeouts and retry strategy are not working. HOT 9
- S3 client ignores http configuration HOT 5
- Linking issue with 1.11.337 HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aws-sdk-cpp.